[uClibc] Problem with soft-float and hidden symbol in libgcc (uclibc 0.9.26/gcc 3.3.4)
Andrew de Quincey
adq_dvb at lidskialf.net
Sat Oct 23 15:58:28 UTC 2004
Hi, looking back at the mailing list, this problem seems to crop up now and
then. I'm creating a cross compiling toolchain from i386->ppc405 using soft
float.
(latest toolchain build scripts from CVS - gcc 3.3.4/ uclibc 0.9.26)
It all seems to work, except for the same sort of messages as in:
http://www.uclibc.org/lists/uclibc/2004-March/008520.html
(hidden symbol __eqdf2 referenced by DSO).
I investigated a bit, and it only happens when doing a shared link. It seems
to be because uclibc's libc.so and libm.so are not linked against libgcc when
they are built - so they end up trying to pull in symbols from libgcc.a -
which gcc objects to.
I found two ways of fixing this - both involve editing the libm/Makefile and
libc/Makefile "shared" targets. Basically, you either add "-lgcc_s" or "-lgcc
-L/path/to/your/stagingdir/lib/gcc-lib/ppc-405-linux-uclibc/3.3.4/" to the LD
command.
Secondly, the CVS scripts say "there are known problems with 2.6.26 - use a
snapshot". However, I'd prefer to use a released version if possible... What
exactly are these "known problems"? It might be an idea to put a quick
summary on your web page since they are known (if there is already, and I've
missed it, sorry - send me a link?).
More information about the uClibc
mailing list