[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