[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