------- Comment #80 from mikulas at artax dot karlin dot mff dot cuni dot cz 2010-08-17 20:17 ------- Comment #79:
-mpreferred-stack-boundary=2 adheres to the sysv ABI but it doesn't adhere to the Linux ABI (that requires 16-byte alignment), so if you compile anything with -mpreferred-stack-boundary=2, it may crash when entering other dynamic libraries. -mstackrealign does the right thing, it realigns the stack when needed, but keeps it 16-byte aligned on function output. It should be used. I would be nice if gcc developers made -mstackrealign default (with an option to turn it off for scientists who need maximum performance and don't care about ABI) so that this ABI madness will finally end when distributions get recompiled with it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838