uClibc with software floating point

Pascal Kesseli pascal_kesseli at hotmail.com
Sat Nov 21 04:37:16 PST 2009


Hello everybody

While compiling my uClibc with "UCLIBC_HAS_SOFT_FLOAT=y" option enabled, the

following linker error messages arised:

  CC libc/stdlib/atexit.os
  AR cr lib/libc.a
  STRIP -x -R .note -R .comment lib/libc.a
  AR cr lib/uclibc_nonshared.a
  STRIP -x -R .note -R .comment lib/uclibc_nonshared.a
  AR cr libc/libc_so.a
  STRIP -x -R .note -R .comment libc/libc_so.a
  LD libuClibc-0.9.30.2-svn.so
libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
_fpmaxtostr.c:(.text+0xa0): undefined reference to `__nedf2'
_fpmaxtostr.c:(.text+0xc4): undefined reference to `__eqdf2'
_fpmaxtostr.c:(.text+0xe0): undefined reference to `__divdf3'
_fpmaxtostr.c:(.text+0xec): undefined reference to `__ltdf2'
_fpmaxtostr.c:(.text+0x140): undefined reference to `__muldf3'
_fpmaxtostr.c:(.text+0x26c): undefined reference to `__gedf2'
_fpmaxtostr.c:(.text+0x2f8): undefined reference to `__fixunsdfsi'
libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
__psfs_do_numeric.c:(.text+0x520): undefined reference to `__truncdfsf2'
collect2: ld returned 1 exit status

I take it that these referenced objects belong to the software floating
point 
support. I compiled gcc with "--with-float=soft" option and without 
"--disable-decimal-float". Am I right to assume that these objects should be

defined in libgcc and that it is only a matter of activating the right 
configure switches while building gcc?

Does anybody have an idea where this build went wrong?

The respective versions are:
- binutils 2.20
- gcc 4.4.2
- uClibc 0.9.30.1

Thanks for any help and best regards
Pascal




More information about the lfs-support mailing list