[Clfs-support] Linkage error when making uClibc-0.9.31

Andrew Bradford bradfa at gmail.com
Fri Apr 1 04:43:22 PDT 2011


I've confirmed the issue on Debian 6 amd64.  I used same variables and
get the same errors when linking to libgcc.  I'll take a look and see
what's going on with libgcc, I think there might be a clue in the
__GCC_FLOAT_NOT_NEEDED define that's getting used for libgcc
compilation.

My guess right now is passing an empty --with-fpu= could be the
culprit.  Since in the book, for soft floating point, no CLFS_FPU
variable is set, the way gcc gets configured sets --with-fpu to an
empty string which will override whatever the internal gcc scripts
decide to set it to.  That could be bad...

My linking errors are (for completeness):

make[1]: `lib/ld-uClibc.so' is up to date.
  LD libuClibc-0.9.31.so
libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
_fpmaxtostr.c:(.text+0xbc): undefined reference to `__nedf2'
_fpmaxtostr.c:(.text+0xe0): undefined reference to `__eqdf2'
_fpmaxtostr.c:(.text+0xfc): undefined reference to `__divdf3'
_fpmaxtostr.c:(.text+0x108): undefined reference to `__ltdf2'
_fpmaxtostr.c:(.text+0x17c): undefined reference to `__muldf3'
_fpmaxtostr.c:(.text+0x348): undefined reference to `__gedf2'
_fpmaxtostr.c:(.text+0x40c): undefined reference to `__fixunsdfsi'
libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
__psfs_do_numeric.c:(.text+0x53c): undefined reference to `__truncdfsf2'
collect2: ld returned 1 exit status
make: *** [lib/libc.so] Error 1


-Andrew



More information about the Clfs-support mailing list