summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2011-02-02 01:09:02 +0000
committerSean Callanan <scallanan@apple.com>2011-02-02 01:09:02 +0000
commit26fc7858dbbfcbe09626aa237571a1adb97bb7d5 (patch)
tree3b4d9b07de4d3df39482afb99b2397f57544b724 /llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
parentd42641c6b5bde379cdd77d1906d87b907bd232e0 (diff)
downloadbcm5719-llvm-26fc7858dbbfcbe09626aa237571a1adb97bb7d5.tar.gz
bcm5719-llvm-26fc7858dbbfcbe09626aa237571a1adb97bb7d5.zip
Fixed a bug in the disassembler where the mandatory 0x66
prefix would be misinterpreted in some cases on 32-bit x86 platforms. Thanks to Olivier Meurant for identifying the bug. llvm-svn: 124709
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c')
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
index 7b17f1e5a3a..b6546fc9e86 100644
--- a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
+++ b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
@@ -388,6 +388,7 @@ static int readPrefixes(struct InternalInstruction* insn) {
}
} else {
unconsumeByte(insn);
+ insn->necessaryPrefixLocation = insn->readerCursor - 1;
}
if (insn->mode == MODE_16BIT) {
OpenPOWER on IntegriCloud