http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00252.html
to address a few gcc bugs:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28621
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27537
The original IA32 psABI only requires stack to be aligned at 32bit.
This change means that functions in object files generated by gcc
may not work correctly when called from object files which only
guarantee 32bit stack alignment. Since it is very unlikely for gcc to
default to 32bit stack alignment, it is highly recommended that
functions should have stack aligned at 128bit before calling functions
generated by gcc.