This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Set F_VFP_FLOAT for any binary not using FPA instructions


> > 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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]