Set F_VFP_FLOAT for any binary not using FPA instructions
Richard Earnshaw
rearnsha@arm.com
Tue Apr 16 02:19:00 GMT 2002
> > 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.
R.
More information about the Binutils
mailing list