------- Additional Comments From vektor at dumbterm dot net 2005-06-30 03:16 ------- Of course, it seems that my disassembler has been defaulting to 16 bit and not 32 bit. Here is the correct disassembly from one of the crashes. It's reading from [esp+0x10] which is clearly an unaligned stack read.
00000000 0089442408F2 add [ecx+0xf2082444],cl 00000006 0F108B6C6FF6FF umov [ebx+0xfff66f6c],cl 0000000D 8B5124 mov edx,[ecx+0x24] 00000010 660F294C2410 o16 movaps [esp+0x10],xmm1 00000016 F20F105220 repne umov [edx+0x20],dl 0000001B 660F57D1 o16 xorps xmm2,xmm1 0000001F F2 db 0xF2 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21973