This is the mail archive of the
mailing list for the binutils project.
Re: Set F_VFP_FLOAT for any binary not using FPA instructions
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Nick Clifton <nickc at cambridge dot redhat dot com>
- Cc: rearnshaw at arm dot com, binutils at sources dot redhat dot com
- Date: Tue, 16 Apr 2002 10:18:32 +0100
- Subject: Re: Set F_VFP_FLOAT for any binary not using FPA instructions
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> > Hi Richard,
> > Any objections to my applying the following patch ? It changes the
> > logic for setting the F_VFP_FLOAT flag in arm-elf binaries so that
> > it is set for any binary that has been created without enabling FPA
> > instructions - even binaries that have been assembled with the
> > -mno-fpu switch. This is the change from the previous behavior
> > where assembling with -mno-fpu would not set the VFP flag.
> > The reason for this change to get around the problem of compiling
> > source files with the gcc switches "-mcpu=xscale -msoft-float".
> > Although the soft-float flag is redundant, specifying it passes the
> > -mno-fpu flag to the assembler, which then marks the binaries as
> > using FPA instructions. This then prevents the object file from
> > being linked with other arm or xscale binaries, which by default are
> > marked as using VFP instructions.
> > It also has the side effect of making the code agree with the
> > comment above it. :-)
> F_VFP_FLOAT should only be set on an image that has pure-endian floating
> point numbers (as opposed to the FPA's mixed-endian style). So I don't
> think this is quite right.
> Note, all these silly flags in the header will have to go away when we
> conform to the new EABI and we will have to switch to using the much more
> flexible build-attributes system as used in the ADS toolkit.
One more thing: -msoft-float is going to go away when I add VFP support to
the compiler. Why? well because we will have two variants of soft-float,
one with mixed-endian doubles and the other with pure-endian doubles. I'm
going to add a -mfpu= option which will be far more flexible than the
current way of passing this gloop to the compiler.