summaryrefslogtreecommitdiffstats
path: root/lldb/scripts
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-07-20 22:47:19 +0000
committerSean Callanan <scallanan@apple.com>2012-07-20 22:47:19 +0000
commitdff711ed75bd75a3783ff05ff8505ac0faa20c92 (patch)
tree57d609424c79ae5459dded09b0a2767390e12c7d /lldb/scripts
parent20ea62527a5f73db1b927b2f045b5e718694811a (diff)
downloadbcm5719-llvm-dff711ed75bd75a3783ff05ff8505ac0faa20c92.tar.gz
bcm5719-llvm-dff711ed75bd75a3783ff05ff8505ac0faa20c92.zip
Added a fix to LLVM that corrects PC-relative
branch address printing in the x86 disassembler. <rdar://problem/11925357> llvm-svn: 160588
Diffstat (limited to 'lldb/scripts')
-rw-r--r--lldb/scripts/llvm.amalgamated.diff26
1 files changed, 26 insertions, 0 deletions
diff --git a/lldb/scripts/llvm.amalgamated.diff b/lldb/scripts/llvm.amalgamated.diff
index 9419364f027..03c6a7a858b 100644
--- a/lldb/scripts/llvm.amalgamated.diff
+++ b/lldb/scripts/llvm.amalgamated.diff
@@ -479,6 +479,32 @@ Index: lib/Target/ARM/Disassembler/ARMDisassembler.cpp
return MCDisassembler::Success;
}
+Index: lib/Target/X86/Disassembler/X86Disassembler.cpp
+===================================================================
+--- lib/Target/X86/Disassembler/X86Disassembler.cpp (revision 152265)
++++ lib/Target/X86/Disassembler/X86Disassembler.cpp (working copy)
+@@ -322,7 +322,12 @@
+
+ OperandType type = (OperandType)operand.type;
+
++ bool isBranch = false;
++ uint64_t pcrel = 0;
+ if (type == TYPE_RELv) {
++ isBranch = true;
++ pcrel = insn.startLocation +
++ insn.displacementOffset + insn.displacementSize;
+ switch (insn.displacementSize) {
+ default:
+ break;
+@@ -373,8 +378,6 @@
+ }
+ }
+
+- bool isBranch = false;
+- uint64_t pcrel = 0;
+ switch (type) {
+ case TYPE_XMM128:
+ mcInst.addOperand(MCOperand::CreateReg(X86::XMM0 + (immediate >> 4)));
Index: lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
===================================================================
--- lib/Target/X86/Disassembler/X86DisassemblerDecoder.c (revision 152265)
OpenPOWER on IntegriCloud