tech-toolchain archive

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

ABI issues with gcc



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


christos


Home | Main Index | Thread Index | Old Index