|
From: <kri...@as...> - 2005-09-01 22:43:16
|
> real instruction could start anywhere in that range. A 1-byte invalid > insn could at least be useful when dealing with off-by-one anti-disasm > code [though even then, only if it is improperly written]. gcc 3.3.5 compiles pipe_read from linux 2.4.27 with an invalid opcode somewhere in between: pipe_read: ... 1a4: 0f 84 be fe ff ff je 0x68 1aa: 0f 0b ud2a 1ac: 78 00 js 0x1ae 1ae: 20 84 22 c0 e9 b1 fe and %al,0xfeb1e9c0(%edx) 1b5: ff (bad) 1b6: ff 90 8d 74 26 00 call *0x26748d(%eax) 1bc: b9 01 00 00 00 mov $0x1,%ecx Could be somewhat related to their BUG() macro and mixing inline assembly with C source. Improperly generated, sure, but still it happens. Oh well... |