[uClibc] Problem with soft-float and hidden symbol in libgcc (uclibc0.9.26/gcc 3.3.4)

Joakim Tjernlund Joakim.Tjernlund at lumentis.se
Sat Oct 23 17:09:20 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.

Try copying the libm* files from .../uClibc/lib dir to .../staging_dir/lib

 Jocke



More information about the uClibc mailing list