From b4657f8794b697fdf8d3f7ef0c1bdcc4f95d13e4 Mon Sep 17 00:00:00 2001 From: Nguyen Anh Quynh <aquynh@gmail.com> Date: Fri, 13 May 2016 23:24:38 +0800 Subject: [PATCH] x86: fix 'call 5' in issue #56 --- llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 16efca1..7d3dde7 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -1873,8 +1873,8 @@ std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOperand(StringRef Mnem) return X86Operand::CreateMem(getPointerWidth(), SM.getSym(), Start, End, Size); - if (Mnem.str().c_str()[0] == 'j') { - // JMP/Jxx <immediate> (Keystone) + if (Mnem.str() == "call" || Mnem.str().c_str()[0] == 'j') { + // CALL/JMP/Jxx <immediate> (Keystone) const MCExpr *Disp = MCConstantExpr::create(Imm, Parser.getContext()); return X86Operand::CreateMem(0, 0, Disp, 0, 0, 1, Start, End, 0); -- GitLab