[PATCH] Bug 17310

James Courtier-Dutton james.dutton at gmail.com
Sat Jan 25 14:18:23 PST 2014


Hi,

Is there any chance of getting this bug fixed?
http://llvm.org/bugs/show_bug.cgi?id=17310

It is a very simple 2 line patch (see below).
There is also a test case in the bug report.

diff --git a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
index 20e61da..0467a21 100644
--- a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
+++ b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
@@ -1115,6 +1115,9 @@ static int readModRM(struct InternalInstruction* insn) {
   rm      = rmFromModRM(insn->modRM);
   reg     = regFromModRM(insn->modRM);

+  if (mod == 1)
+    insn->displacementSize = 1;
+
   /*
    * This goes by insn->registerSize to pick the correct register, which messes
    * up if we're using (say) XMM or 8-bit register operands.  That
gets fixed in



More information about the llvm-commits mailing list