tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ABI issues with gcc



On Thu, Jan 23, 2014 at 10:42:40AM -0500, Christos Zoulas wrote:
> 
> In the process of getting gcc-4.8.x work with NetBSD we encountered an
> issue with sh3, m68k, and vax (maybe more) where spurious SSP warnings
> appear during compilation. I distilled this to a simple test which I have
> submitted to the gcc folks (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59674)
> 
> Basically this boils down to us having an alignment requirement of an 8
> byte boundary for long long and double, where having a STACK_BOUNDARY
> in the ABI of 4. Gcc does not like that and it does not pre-compute
> where those variables go when it first decides the stack layout of the
> function and it allocates them dynamically in the next pass, leading
> the SSP code to believe this function has a variable stack.
> 
> The choices here are:
> 
>       1. disable ssp for those platforms
>       2. fix gcc so that it deals with this case (the gcc people will
>          probably not take back the changes)
>       3. fix our ABI so for those archs we have a STACK_BOUNDAY of 8

You can't change the ABI.
We had a similar discussion about the i386 stack alignment last year.

What happens for i386 if you force an on-stack variable to have
a non-standard alignment (probably one greater than 8).

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index