<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div><div class="h5"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div><div>$ wget <a href="http://www.uclibc.org/downloads/uClibc-0.9.31.tar.bz2" target="_blank">http://www.uclibc.org/downloads/uClibc-0.9.31.tar.bz2</a><br>



$ wget <a href="http://patches.cross-lfs.org/embedded-dev/uClibc-0.9.31-configs-2.patch" target="_blank">http://patches.cross-lfs.org/embedded-dev/uClibc-0.9.31-configs-2.patch</a><br>$ tar xvfj uClibc-0.9.31.tar.bz2<br>


$ cd uClibc-0.9.31<br>
$ patch -Np1 -i ../uClibc-0.9.31-configs-2.patch<br>$ cp -v clfs/config.${CLFS_ARCH}.${CLFS_ENDIAN} .config<br>$ if [ "${CLFS_ABI}" == "aapcs" ] || [ "${CLFS_ABI}" == "aapcs-linux" ]; then<br>



      sed -i s/CONFIG_ARM_OABI/CONFIG_ARM_EABI/g .config;<br>fi<br>$ make oldconfig<br>$ make<br><br>[...]<br>In file included from ./ldso/include/dl-string.h:11:0,<br>                 from ./ldso/include/ldso.h:40,<br>                 from libc/misc/elf/dl-iterate-phdr.c:16:<br>



./ldso/ldso/arm/dl-sysdep.h: In function 'elf_machine_load_address':<br>./ldso/ldso/arm/dl-sysdep.h:119:37: warning: taking address of expression of type 'void'<br>  CC libc/misc/internals/__uClibc_main.os<br>



  CC libc/inet/rpc/rpc_thread.os<br>  CC libc/stdlib/atexit.os<br>  AR cr lib/libc.a<br>  STRIP -x -R .note -R .comment lib/libc.a<br>  AR cr lib/uclibc_nonshared.a<br>  STRIP -x -R .note -R .comment lib/uclibc_nonshared.a<br>



  AR cr libc/libc_so.a<br>  STRIP -x -R .note -R .comment libc/libc_so.a<br>  LD <a href="http://libuClibc-0.9.31.so" target="_blank">libuClibc-0.9.31.so</a><br>libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':<br>


_fpmaxtostr.c:(.text+0xbc): undefined reference to `__nedf2'<br>
_fpmaxtostr.c:(.text+0xe0): undefined reference to `__eqdf2'<br>_fpmaxtostr.c:(.text+0xfc): undefined reference to `__divdf3'<br>_fpmaxtostr.c:(.text+0x108): undefined reference to `__ltdf2'<br>_fpmaxtostr.c:(.text+0x17c): undefined reference to `__muldf3'<br>



_fpmaxtostr.c:(.text+0x348): undefined reference to `__gedf2'<br>_fpmaxtostr.c:(.text+0x40c): undefined reference to `__fixunsdfsi'<br>libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':<br>



__psfs_do_numeric.c:(.text+0x53c): undefined reference to `__truncdfsf2'<br>collect2: ld returned 1 exit status<br>make: *** [lib/libc.so] Error 1<br></div></div></blockquote></div></div></div></blockquote></div></blockquote>
</div><br>Ivan,<br><br>The functions that aren't being found are the soft float functions in libgcc.  <br>See: <a href="http://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html">http://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html</a><br>
<br>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.<br>
<br>I'll have a closer look soon and let you know what I find.<br><br>-Andrew<br>