This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 2004-08-08 at 21:50:51 Lennert Buytenhek wrote: > This is what I understand of float-on-arm in general: > - FPA is big endian float word ordering, even on little endian platforms. > - VFP is native endian float word ordering. Yes. > This is what I understood of Nicolas' intention: > - -mhard-float would give the same behaviour as before the patch > - -msoft-float would give FPA behaviour > - no option would give VFP Yes again. However, the patch he posted doesn't actually have that effect. :) Please read the comments I added to: http://www.andric.com/cross/patches/gcc-3.3.2-arm-softfloat.patch.bz2 for more information. Dan already included part of this patch in crosstool, but not the -m* options behaviour. > -%{mapcs-float:-mfloat} %{msoft-float:-mno-fpu}" > +%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa -mfpu=softvfp}" [...] > But it didn't seem right to me -- it would seem that when -msoft-float > is specified, it evaluates to "-mfpu=softfpa -mfpu=softvfp" (essentially > specifying two conflicting options) and otherwise to "", no? Indeed this patch doesn't work, because then the assembler will get passed 2 different fpu options, and will NOT complain, but only the latter (softvfp) will take effect. > In any case, binaries generated with crosstool 0.28-rc28's > arm-softfloat-linux gcc 3.3.3 are not marked softfloat at all. > So I changed the abovementioned hunk to this: I encourage you to try the above patch. :) >> 2) does gcc-3.4.x have a similar problem? Yep, it already includes the ieee*.S files, but not the specific fpa/softfpa/softvfp behaviour we're talking about. For that, you need to apply: http://www.andric.com/cross/patches/gcc-3.4.0-arm-softfloat.patch.bz2 > No mention of VFP. So I guess that FPA is the official cast-in-stone-now > standard float ordering format on Linux/ARM. And perhaps crosstool should > indeed generate FPA binaries, if only because of backward compatibility and > ABI stuff. I guess I should have used FPA also from the start. That entirely depends on which ARM platform you're targeting. If you want to target some generic distro, it's probably best to simply use hardfloat, and let the kernel's FPU emulator handle it, if necessary. But if you want maximum floating point performance on a target without an FPU, use softvfp. If you have an existing distro using softfpa, use that.
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |