>
> $ 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

Reply via email to