[RuntimeDyld] Skip relocations for external symbols with 64-bit address ~0ULL.
authorLang Hames <lhames@gmail.com>
Sat, 4 Jul 2015 01:35:26 +0000 (01:35 +0000)
committerLang Hames <lhames@gmail.com>
Sat, 4 Jul 2015 01:35:26 +0000 (01:35 +0000)
commitb21c7647d8dc16e3dc9f3781d2b5bc6faf42e75e
tree0cc5cbac4967e1ccd58291e4ab3dfe4e8bf29d7c
parent9a9ee6f550c0789053c260203aea8430a34554fe
[RuntimeDyld] Skip relocations for external symbols with 64-bit address ~0ULL.

Requested by Eugene Rozenfeld of the LLILC team, this feature allows JIT
clients to skip relocations for selected external symbols by returning ~0ULL
from their symbol resolver. If this value is returned for a given symbol,
RuntimeDyld will skip all relocations for that symbol. The client will be
responsible for applying the skipped relocations manually before the code
is executed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241383 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
tools/llvm-rtdyld/llvm-rtdyld.cpp