[uClibc] toolchain & buildroot script understanding...

Michael Robinson mrobinson at fuzzymuzzle.com
Sat Jul 10 23:20:45 UTC 2004


I had the same ld DSO collect2 error caused because the toolchain was 
using an older gcc version incompatible with the current setup.  mjn3 
has updated the makefile so the toolchain now uses gcc 3.3.4, this fixed 
the error on my computer.  But you're using the build root, maybe 
buildroot has the same gcc version problem, what version of gcc does the 
build root say it's using?

Michael Robinson
mrobinson at fuzzymuzzle.com
www.fuzzymuzzle.com

Bryan Larsen wrote:

>I'm also trying to figure out toolchain & buildroot.
>
>I'm trying to build an arm-linux-uclibc toolchain to use with the
>Snapgear Linux distribution.
>
>"toolchain" appeared to be exactly what I wanted.  But when it was
>building libfloat, it tried to copy it into ${TARGET_DIR}, which is
>never defined anywhere.  Searching the mailing list archives, the same
>problem occured in December without resolution.  The conclusion then
>seemed to be that the toolchain Makefiles are broken.  If it hasn't been
>fixed by now, that's probably a safe assumption.
>
>So I thought I'd give buildroot a try.
>
>The first error I got complained about an undefined "BUS_ISA", so I
>applied the attached patch to change this to CTL_BUS_ISA.
>
>The next error I got was this:
>
>directory
>.../toolchain_build_arm_nofpu/gcc-3.3-final/arm-linux-uclibc/libiberty/
>
>configure:2464:
>/opt/build/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/gcc/xgcc
>-B/opt/build/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/gcc/
>-msoft-float
>-B/opt/build/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/bin/
>-B/opt/build/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/lib/
>-isystem
>/opt/build/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/include -o conftest -g -Os   conftest.c  1>&5
>/opt/build/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/bin/ld: conftest: hidden symbol `__divsi3' in /opt/build/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/gcc/libgcc.a(_divsi3.oS) is referenced by DSO
>collect2: ld returned 1 exit status
>configure: failed program was:
>
>#line 2459 "configure"
>#include "confdefs.h"
>
>main(){return(0);}
>
>My configuration is like this:
>
>ARCH:=arm
>GCC_2_95_TOOLCHAIN:=false
>USE_UCLIBC_SNAPSHOT:=false
>USE_BUSYBOX_SNAPSHOT:=true
>BUILD_WITH_LARGEFILE:=false
>WGET:=wget --passive-ftp
>OPTIMIZE_FOR_CPU=$(ARCH)
>SOFT_FLOAT:=true
>TARGET_OPTIMIZATION=-Os
>TARGET_DEBUGGING= #-g
>GCC_USE_SJLJ_EXCEPTIONS:=--enable-sjlj-exceptions
>EXTRA_GCC_CONFIG_OPTIONS:=
>ENABLE_LOCALE:=false
>MULTILIB:=--enable-multilib
>INSTALL_LIBSTDCPP:=true
>INSTALL_LIBGCJ:=false
>
>(ARM922 chosen when the uClibc configure asks)
>
>I'm going to try again with SOFT_FLOAT:=false, my target does have FPU
>emulation.
>
>But I'd prefer to use SOFT_FLOAT.  Does anybody know anything about
>hidden symbol `__divsi3' is referenced by DSO?
>
>Bryan
>  
>
>------------------------------------------------------------------------
>
>--- uClibc-0.9.26/libc/sysdeps/linux/arm/ioperm.c.old	2004-07-09 19:08:44.000000000 -0400
>+++ uClibc-0.9.26/libc/sysdeps/linux/arm/ioperm.c	2004-07-09 19:09:02.000000000 -0400
>@@ -80,7 +80,7 @@
>  * Initialize I/O system.  There are several ways to get the information
>  * we need.  Each is tried in turn until one succeeds.
>  *
>- * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*).  This is the preferred method
>+ * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*).  This is the preferred method
>  *    but not all kernels support it.
>  *
>  * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE.
>@@ -100,8 +100,8 @@
> {
>     char systype[256];
>     int i, n;
>-    static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
>-    static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
>+    static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
>+    static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
>     size_t len = sizeof(io.base);
>
>     if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>uClibc mailing list
>uClibc at uclibc.org
>http://uclibc.org/mailman/listinfo/uclibc
>  
>




More information about the uClibc mailing list