GCC3.4's (default) unit-at-a-time optimization is incompatible with -mrtd.
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 6 Aug 2004 20:50:35 +0000 (20:50 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 6 Aug 2004 20:50:35 +0000 (20:50 +0000)
commit3d310902fc8a687a85aec646f78b014082cc42c0
tree89bbccd3aef1fdb6031fbdaf81f15ab8991f66ad
parent0a1f9017913f3ce83da0412ca80246844cb32c92
GCC3.4's (default) unit-at-a-time optimization is incompatible with -mrtd.
Bad code (missing stack pops) will be produced.  See the assembly generated
for 'xputc' with -mrtd and unit-at-a-time enabled for an example of this.

GCC3.4's unit-at-a-time seems to cause other problems as well, specifically
in boot2, as yet not tracked down, so disable unit-at-a-time optimizations
for the boot code if the compiler is not GCC2.
sys/boot/i386/boot2/Makefile
sys/boot/pc32/boot2/Makefile