This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
How to disable hardware float support while configuring a cross gcc?
- From: Pan ruochen <panruochen at gmail dot com>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Wed, 24 Aug 2011 10:06:26 +0800
- Subject: How to disable hardware float support while configuring a cross gcc?
Hi All,
I want to build a cross gcc toolchain without hardware float point unit.
My configuration for building gcc is:
================================================================
Using built-in specs.
Target: arm-elf
Configured with: ../gcc-4.4.3/configure
--prefix=/home/panruochen/gcc-4.4.3 --program-prefix=arm-elf-
--target=arm-elf --with-gmp=/home/panruochen/gmp-5.0.2
--with-mpfr=/home/panruochen/mpfr-3.0.1 --with-gnu-as --with-gnu-ld
--enable-languages=c --with-cache=config.cache --disable-libada
--disable-libssp --with-float=soft --disable-fpu
Thread model: single
gcc version 4.4.3 (GCC)
================================================================
When I compile and link against the toolchain, I get the following errors:
================================================================
arm-elf-ld: error:
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_udivsi3.o)
uses FPA instructions, whereas a.elf does not
arm-elf-ld: failed to merge target specific data of file
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_udivsi3.o)
arm-elf-ld: error:
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_divsi3.o)
uses FPA instructions, whereas a.elf does not
arm-elf-ld: failed to merge target specific data of file
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_divsi3.o)
arm-elf-ld: error:
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_umodsi3.o)
uses FPA instructions, whereas a.elf does not
arm-elf-ld: failed to merge target specific data of file
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_umodsi3.o)
arm-elf-ld: error:
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_dvmd_tls.o)
uses FPA instructions, whereas a.elf does not
arm-elf-ld: failed to merge target specific data of file
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_dvmd_tls.o)
arm-elf-ld: error:
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_lshrdi3.o)
uses FPA instructions, whereas a.elf does not
arm-elf-ld: failed to merge target specific data of file
/cygdrive/c/gcc-4.4.3/bin/../lib/gcc/arm-elf/4.4.3/libgcc.a(_lshrdi3.o)
================================================================
These messages shall mean libgcc is compiled with hardware float
supported. The configuration options `--with-float=soft --disable-fpu'
donot work.
So, what is the appropriate configuration option?
--
Best Regards,
Pan Ruochen