x86 stack alignment redux
Jeffrey A Law
law@cygnus.com
Thu Dec 11 23:10:00 GMT 1997
In message <rzq3el01z6k.fsf@djlvig.dl.ac.uk>you write:
> With this change, a glibc2-based system such as is now apparently
> becoming usable, and -malign-double, g77 users running on GNUish
> 686-based boxes should no longer suffer an average 50% perfromance hit
> because doubles on the stack only get word-aligned (or a smaller hit
> on 586). Previous discussion suggested it's a bug if STACK_BOUNDARY
> doesn't agree with the initial stack pointer alignment and glibc2
> ensures initial double alignment.
>
> This really is important to serious scientific users with high-profile
> projects of the sort I understand have just been slagging off g77/gcc
> at a high-performance computing meeting here.
>
> 1997-11-13 Dave Love <d.love@dl.ac.uk>
>
> * config/i386/linux.h (STACK_BOUNDARY): Define as 64 for glibc2.
> * config/i386/gnu.h (STACK_BOUNDARY): Define as 64.
I installed this.
However, I'm a little worried about things breaking if we happen to mix
code compiled with an old compiler (say egcs-1.0 or gcc-2.7) with code
which assumes a 64bit stack boundary. Isn't this change going to break
that case, or does the prologue/epilogue code for older compilers always
allocate 64bit hunks?
jeff
More information about the Gcc
mailing list