llvm-project/llvm/lib/ExecutionEngine
Lang Hames c7c1f21525 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
2019-04-12 18:07:28 +00:00
..
IntelJITEvents [DebugInfo] IntelJitEventListener follow up for "add SectionedAddress ..." 2019-03-25 13:50:26 +00:00
Interpreter Add newline to interpreter debugging output 2019-03-07 10:14:38 +00:00
MCJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OProfileJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Orc [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
PerfJITEvents [perf][DebugInfo] follow up for "add SectionedAddress to DebugInfo interfaces" 2019-03-20 10:02:18 +00:00
RuntimeDyld Simplify decoupling between RuntimeDyld/RuntimeDyldChecker, add 'got_addr' util. 2019-04-12 18:07:28 +00:00
CMakeLists.txt Add PerfJITEventListener for perf profiling support. 2018-07-24 00:54:06 +00:00
ExecutionEngine.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ExecutionEngineBindings.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
GDBRegistrationListener.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SectionMemoryManager.cpp MemoryBlock: Do not automatically extend a given size to a multiple of page size. 2019-01-23 02:03:26 +00:00
TargetSelect.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00