[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