X86-64 PIC jump table values are different from x86-32 cases, they are dest - table...
authorEvan Cheng <evan.cheng@apple.com>
Wed, 16 Jul 2008 01:33:08 +0000 (01:33 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 16 Jul 2008 01:33:08 +0000 (01:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53660 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86JITInfo.cpp

index fd495c7588fafeae170e86fedcaea8e27d2b1d64..0cda7d3a43a576760a6e1fb07c9906de25cd3240 100644 (file)
@@ -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,