> > $ wget http://www.uclibc.org/downloads/uClibc-0.9.31.tar.bz2 >>> $ wget >>> http://patches.cross-lfs.org/embedded-dev/uClibc-0.9.31-configs-2.patch >>> $ tar xvfj uClibc-0.9.31.tar.bz2 >>> $ cd uClibc-0.9.31 >>> $ patch -Np1 -i ../uClibc-0.9.31-configs-2.patch >>> $ cp -v clfs/config.${CLFS_ARCH}.${CLFS_ENDIAN} .config >>> $ if [ "${CLFS_ABI}" == "aapcs" ] || [ "${CLFS_ABI}" == "aapcs-linux" ]; >>> then >>> sed -i s/CONFIG_ARM_OABI/CONFIG_ARM_EABI/g .config; >>> fi >>> $ make oldconfig >>> $ make >>> >>> [...] >>> In file included from ./ldso/include/dl-string.h:11:0, >>> from ./ldso/include/ldso.h:40, >>> from libc/misc/elf/dl-iterate-phdr.c:16: >>> ./ldso/ldso/arm/dl-sysdep.h: In function 'elf_machine_load_address': >>> ./ldso/ldso/arm/dl-sysdep.h:119:37: warning: taking address of expression >>> of type 'void' >>> CC libc/misc/internals/__uClibc_main.os >>> CC libc/inet/rpc/rpc_thread.os >>> 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.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 >>> >> Ivan,
The functions that aren't being found are the soft float functions in libgcc. See: http://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html Somehow, either your libgcc got built without the soft float libraries or the linker can't find libgcc (not finding libgcc seems unlikely if you can build uClibc when disabling floating point stuff, I assume there's other parts of libgcc that are needed). Fix soft floatyness in libgcc, and I think the problem gets solved. I'll have a closer look soon and let you know what I find. -Andrew
_______________________________________________ Clfs-support mailing list [email protected] http://lists.cross-lfs.org/listinfo.cgi/clfs-support-cross-lfs.org
