Re: [arm-gnu] soft floating point __eq[ds]f2 not EABI compliant?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [arm-gnu] soft floating point __eq[ds]f2 not EABI compliant?
- To: Johan Björk <jbjoerk@xxxxxxxxx>
- Subject: Re: [arm-gnu] soft floating point __eq[ds]f2 not EABI compliant?
- From: Richard Earnshaw <rearnsha@xxxxxxx>
- Date: Thu, 15 Jan 2009 11:50:03 +0000
On Wed, 2009-01-14 at 17:04 -0800, Johan Björk wrote:
> 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.
You are perfectly correct, this does violate the ABI. Thanks for
pointing it out.
R.