This is the mail archive of the
mailing list for the binutils project.
Re: hidden symbol `__divdi3' is referenced by DSO
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Shaun Jackman <sjackman at gmail dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 3 Dec 2004 18:34:17 +0100
- Subject: Re: hidden symbol `__divdi3' is referenced by DSO
- References: <email@example.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Dec 03, 2004 at 09:20:44AM -0800, Shaun Jackman wrote:
> I built newlib (CVS 2004-12-02) as a native shared library for
> i686-pc-linux-gnu. I'm now trying to link "Hello, world!" using the
> newlib shared library. When I attempt the link, I get a "hidden
> symbol" error. The same link works well if I link statically.
> I've googled around for the error message, and found a number of hits,
> but no clear solutions. What does this error actually mean, and how do
> I trouble shoot it?
> Please cc me in your reply. Thanks,
> $ cc -nostdlib -L/usr/lib/newlib -Wl,-rpath /usr/lib/newlib
> /usr/lib/newlib/crt0.o hello.o -lc -lm -lgcc -o hello
> /usr/bin/ld: hello: hidden symbol `__divdi3' in
> /usr/lib/gcc-lib/i486-linux/3.3.4/libgcc.a(_divdi3.oS) is referenced
> by DSO
This means that newlib was built incorrectly (-lgcc was not linked
into that shared library).