summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86JITInfo.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-07-16 01:33:08 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-07-16 01:33:08 +0000
commit68bd1546aba8c5fd9477c1c43938514adcd625c9 (patch)
treebd586dd4f903f9ea169a6dc9d293f73df632a691 /llvm/lib/Target/X86/X86JITInfo.cpp
parentae543148bc19fd5d7e27959fd2029c5339f8b5e1 (diff)
downloadbcm5719-llvm-68bd1546aba8c5fd9477c1c43938514adcd625c9.tar.gz
bcm5719-llvm-68bd1546aba8c5fd9477c1c43938514adcd625c9.zip
X86-64 PIC jump table values are different from x86-32 cases, they are dest - table base.
llvm-svn: 53660
Diffstat (limited to 'llvm/lib/Target/X86/X86JITInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86JITInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86JITInfo.cpp b/llvm/lib/Target/X86/X86JITInfo.cpp
index fd495c7588f..0cda7d3a43a 100644
--- a/llvm/lib/Target/X86/X86JITInfo.cpp
+++ b/llvm/lib/Target/X86/X86JITInfo.cpp
@@ -463,7 +463,11 @@ void *X86JITInfo::emitFunctionStub(const Function* F, void *Fn,
/// getPICJumpTableEntry - Returns the value of the jumptable entry for the
/// specific basic block.
intptr_t X86JITInfo::getPICJumpTableEntry(intptr_t BB, intptr_t Entry) {
+#if defined(X86_64_JIT)
+ return BB - Entry;
+#else
return BB - PICBase;
+#endif
}
/// relocate - Before the JIT can run a block of code that has been emitted,
OpenPOWER on IntegriCloud