[arm-gnu] soft floating point __eq[ds]f2 not EABI compliant?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[arm-gnu] soft floating point __eq[ds]f2 not EABI compliant?



Hi All,

First off, I'm not a compiler guy, so excuse me if this is really stupid...

I've been working on porting valgrind to ARM, and I discovered an
issue in ieee_754-[ds]f.S, version 2008q3-66, gcc-4.3 from
codesourcery's page.

The issue is that it's writing below the SP, which according to EABI
is illegal at all times. (If I understand the specification
correctly).
See gcc-4.3/gcc/config/arm/ieee754-sf.S:830 (same issue in -df)
The line is: str ip,[sp,#-4]

I guess this may be intentional due to performance, but I figured I'd
give a heads up if anyone is interested.

Thanks
/Johan