[oe] iwwmmxt optimization and soft float in OE on PXA270
Stanislav Brabec
utx at penguin.cz
Tue Mar 4 11:18:54 UTC 2008
Khem Raj wrote:
> Stanislav,
>
> What ABI breakage are you seeing ?
> Aren't you using EABI ?
I didn't check this yet, but gcc(1) talks about it. If I understand
correctly, -mfloat-abi=hard uses FPU or exception based code in kernel,
-mfloat-abi=softfp uses software float and ABI equal to hard-float, and
-msoft-float (or -mfloat-abi=soft) breaks ABI and uses different ABI.
Please fix me, if I am wrong. I don't have deep insight into this
problem, so I have exactly followed recommendation and recompiled
everything after this change.
Manual page gcc(1) 57%:
-msoft-float
Generate output containing library calls for floating point. Warn‐
ing: the requisite libraries are not available for all ARM targets.
Normally the facilities of the machine's usual C compiler are used,
but this cannot be done directly in cross-compilation. You must
make your own arrangements to provide suitable library functions
for cross-compilation.
-msoft-float changes the calling convention in the output file;
therefore, it is only useful if you compile all of a program with
this option. In particular, you need to compile libgcc.a, the
library that comes with GCC, with -msoft-float in order for this to
work.
-mfloat-abi=name
Specifies which ABI to use for floating point values. Permissible
values are: soft, softfp and hard.
soft and hard are equivalent to -msoft-float and -mhard-float
respectively. softfp allows the generation of floating point
instructions, but still uses the soft-float calling conventions.
--
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus
More information about the Openembedded-devel
mailing list