softfloat toolchain

Lior Balkohen balkohen at gmail.com
Fri Nov 18 10:57:36 UTC 2005


2005/11/18, Konstantin Kletschke <lists at ku-gbr.de>:
> At Thu, 17 Nov 2005 10:58:28 -0800,
> Khem Raj <kraj at mvista.com> wrote:
> >
> > You need this
> > diff -urNd gcc-3.4-orig/gcc/config/arm/linux-elf.h
> > gcc-3.4.0/gcc/config/arm/linux-elf.h
> > --- gcc-3.4-orig/gcc/config/arm/linux-elf.h 2004-01-31
> > 07:18:11.000000000 +0100
> > +++ gcc-3.4/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
> > @@ -55,7 +73,7 @@
> > %{shared:-lc} \
> > %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
> >
> > -#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
> > +#define LIBGCC_SPEC "-lgcc"
> >
> > /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
> > the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
>
> Is this supposed to work with 3.4.4 also?
>
> This bails out this way:
>
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/bin/arm-linux-uclibc-gcc  -Wall
> -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
> -mlittle-endian -mtune=arm9tdmi -march=armv4 -msoft-float
> -fno-builtin -nostdinc -D_LIBC -I../include -I.  -fstrict-aliasing -Os
> -funit-at-a-time   -isystem
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/include
> -DNDEBUG -fPIC    \
>         -DUCLIBC_RUNTIME_PREFIX=\"/\" \
>         -DUCLIBC_LDSO=ld-uClibc.so.0 -I. -I../ldso/include \
>         ldd.c -o ldd
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libc.so:
> undefined reference to `__eqdf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__fixsfsi'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__floatsidf'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libc.so:
> undefined reference to `glob'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__ltdf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__extendsfdf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__adddf3'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__fixdfsi'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libc.so:
> undefined reference to `__divdf3'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__muldf3'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__ltsf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__truncdfsf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libc.so:
> undefined reference to `__nedf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__gesf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libc.so:
> undefined reference to `globfree'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__gedf2'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__subdf3'
> /usr/local/arm/gcc-3.4.4-uClibc-0.9.28/lib/gcc/arm-linux-uclibc/3.4.4/../../../../arm-linux-uclibc/lib/libgcc_s.so:
> undefined reference to `__addsf3'
> collect2: ld returned 1 exit status
> make[2]: *** [ldd] Error 1
> make[2]: Leaving directory
> `/usr/src/buildroot/toolchain_build_arm_nofpu/uClibc-0.9.28/utils'
> make[1]: *** [utils] Error 2
> make[1]: Leaving directory
> `/usr/src/buildroot/toolchain_build_arm_nofpu/uClibc-0.9.28'
> make: *** [/usr/src/buildroot/build_arm_nofpu/root/usr/bin/ldd] Error
> 2


you should try to build gcc with "--with-float=soft" without any
patches. "additional gcc options" in "toolchain options" is your
friend.



More information about the uClibc mailing list