Building non-fpu version of gcc for arm

Jonathan Sevy jsevy@mcs.drexel.edu
Fri Feb 28 21:13:00 GMT 2003


I'm building a gcc 3.2.2 cross-compiler (x86 host, ARM target), and have
had issues relating to floating-point support. Specifically, on linking
code compiled with the -mno-fpu flag, I get errors: 
crtend.o uses hardware FP, whereas encoder uses software FP
(encoder being the object file compiled with -mno-fpu)

I tried rebuilding my binutils/glibc/gcc with floating point turned off,
with the --nfp flag, but then discovered (by both trial-and-error and
reading the GCC installation manual) that this has no effect on ARM
platforms.

I've seen postings from Phil Blundell suggesting the use of the
--no-warn-mismatch flag, and this works to eliminate the link errors.
However, according to the gcc manual, this turns off other mismatch
checking that would be nice to have.

I'll only ever be using this compiler to build for embedded platforms
without floating-point units, so what I'd really like is to have versions
of crtbegin.o, crtend.o, etc., that don't indicate that they've been
compiled for hardware floating-point systems. Is there a set of configure
flags that will build gcc to be strictly non-floating point, including
these startup files?

Thanks,
  \
  Jon

(Please cc me on reply, as I read the list through the archives.)




More information about the Gcc-help mailing list