gcc -O2 -fno-strict-aliasing ...

てきとうにメモ。
いきなりぶっちゃけてしまいますと、bochs 作るとき gcc(g++) に与えるオプションについては野生の勘でてきとうに決めています。Windows95 が起動するのでひとまず良しとしていますがホントに大丈夫かどうかはわからない。bochs 自体が例外で落ちても bochs そのもののバグか最適化による問題なのかよくワカンネ、というか。なんか無責任きわまる感じですが、最適化なしで動かすとただでさえ速くないものが余計に遅くなるので気が萎える(最適化を完全に切ったバイナリも作って動作を照合すればいいのですが)
で、gcc の -fstrict-aliasing の説明。

当時 "strict aliasing rule" を読んだときは「へー、最近の C ってなんかめんどくさいことになってるんだなー」なんてヌボーとしておりましたが、よく考えたらこれが原因で潜在的なバグを抱えたバイナリってのは人知れずけっこう出回ってたりするんじゃなかろうか…。