Fixed a bug in the disassembler where the mandatory 0x66
authorSean Callanan <scallanan@apple.com>
Wed, 2 Feb 2011 01:09:02 +0000 (01:09 +0000)
committerSean Callanan <scallanan@apple.com>
Wed, 2 Feb 2011 01:09:02 +0000 (01:09 +0000)
prefix would be misinterpreted in some cases on 32-bit
x86 platforms.  Thanks to Olivier Meurant for identifying
the bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124709 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/Disassembler/X86DisassemblerDecoder.c

index 7b17f1e5a3a915bff3c65e651b12eb457efaa662..b6546fc9e86cbaa97b75c0c3fc879670563c3670 100644 (file)
@@ -388,6 +388,7 @@ static int readPrefixes(struct InternalInstruction* insn) {
     }
   } else {
     unconsumeByte(insn);
+    insn->necessaryPrefixLocation = insn->readerCursor - 1;
   }
   
   if (insn->mode == MODE_16BIT) {