This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Building newlib without -mhard-float
Rick Mann wrote:
On Sep 5, 2007, at 6:31 PM, Rick Mann wrote:
Thanks. I'm in the middle of it now, but one thing that's not clear
is: do I need to also configure and make newlib, after "make
install-gcc"? Okay, I checked, and it didn't get installed.
Here's the question, then: do I make newlib in the same build dir as
gcc, or in a separate one?
Okay, I thought about it some more, and realized it really should be
built in its own directory.
After all is said and done, I'm still getting a lame result:
$ arm-elf-gcc --print-multi-lib
.;
thumb;@mthumb
I've run out of ideas; I was better off with my non-multilib versions,
but I'm still stuck there WRT math support. Sigh.
Rick,
I've been looking quickly at the gcc. I noticed that if you
configure xscale-elf, you then have the compiler use xscale-elf.h which
has the following in it. Note that -mfpu=softvfp is the default. I
think this is what you want. Also note the different multilibs.
/* Note - there are three possible -mfpu= arguments that can be passed to
the assembler:
-mfpu=softvfp This is the default. It indicates thats doubles are
stored in a format compatible with the VFP
specification. This is the newer double format,
whereby
the endian-ness of the doubles matches the endian-ness
of the memory architecture.
-mfpu=fpa This is when -mhard-float is specified.
[It is not known if any XScale's have been made with
hardware floating point support, but nevertheless this
is what happens].
-mfpu=softfpa This is when -msoft-float is specified.
This is the normal behavior of other arm
configurations,
which for backwards compatibility purposes default to
supporting the old FPA format which was always big
endian, regardless of the endian-ness of the memory
system. */
#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
%{mhard-float:-mfpu=fpa} \
%{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
#ifndef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
#endif
-- Jeff J.