hidden symbol `__divdi3' is referenced by DSO
Jakub Jelinek
jakub@redhat.com
Fri Dec 3 17:34:00 GMT 2004
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,
> Shaun
>
> $ 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).
Jakub
More information about the Binutils
mailing list