------- Comment #32 from hjl dot tools at gmail dot com 2010-02-17 17:09 ------- (In reply to comment #31) > I still have no idea what this PR is about. Someone needs to make a clear > statement of what they believe the ABI to be. There are some simple > questions: > > * Can we expect that the stack is 16-byte aligned, or not?
Not if we want to be binary compatible with object files compiled by compilers, including gcc 1.x/2.x/3.x, which generate 4byte stack alignment. > > * If we cannot (because of legacy requirements), then is there any reason to > try to align the stack automatically at entry to every function, or at every > call site? I can see that this might be useful as an option, but it does not > seem like a sensible default to me. > See PR 40838. "-mstackrealign" now aligns the stack only if SSE vector instructions are used in the function. The performance impact of "-mstackrealign" is minimum: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838#c65 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41156