------- Comment #2 from hjl at lucon dot org 2006-08-06 18:29 ------- The main problem is bug 27537. That is -Os aligns stack at 4 bytes and the other part of i386 backend assumes stack aliged at 16byte. We can word around this by
1. Don't include crtfastmath.o for -m32. 2. Make crtfastmath.o dummy for -m32. 3. Use a static variable to align at 16byte. 4. Compile crtfastmath.o with -mstackrealign. Need to backport -mstackrealign to 4.1? 5. Fix i386 backend only to assume 4byte stack alignment. The easiest one is #2 or #3. The idel one is #5. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28621