summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2019-04-12 18:07:28 +0000
committerLang Hames <lhames@gmail.com>2019-04-12 18:07:28 +0000
commitc7c1f21525f88d8efd13a01ece50504d10d012fa (patch)
tree473ddd29ee4bcf989024e40101cd1775a1769f73 /llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
parente4d6ac5d19401fdd34642df5c015b4ab07f6beb0 (diff)
downloadbcm5719-llvm-c7c1f21525f88d8efd13a01ece50504d10d012fa.tar.gz
bcm5719-llvm-c7c1f21525f88d8efd13a01ece50504d10d012fa.zip
Simplify decoupling between RuntimeDyld/RuntimeDyldChecker, add 'got_addr' util.
This patch reduces the number of functions in the interface between RuntimeDyld and RuntimeDyldChecker by combining "GetXAddress" and "GetXContent" functions into "GetXInfo" functions that return a struct describing both the address and content. The GetStubOffset function is also replaced with a pair of utilities, GetStubInfo and GetGOTInfo, that fit the new scheme. For RuntimeDyld both of these functions will return the same result, but for the new JITLink linker (https://reviews.llvm.org/D58704) these will provide the addresses of PLT stubs and GOT entries respectively. For JITLink's use, a 'got_addr' utility has been added to the rtdyld-check language, and the syntax of 'got_addr' and 'stub_addr' has been changed: both functions now take two arguments, a 'stub container name' and a target symbol name. For llvm-rtdyld/RuntimeDyld the stub container name is the object file name and section name, separated by a slash. E.g.: rtdyld-check: *{8}(stub_addr(foo.o/__text, y)) = y For the upcoming llvm-jitlink utility, which creates stubs on a per-file basis rather than a per-section basis, the container name is just the file name. E.g.: jitlink-check: *{8}(got_addr(foo.o, y)) = y llvm-svn: 358295
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud