mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
69e63fa13a
This patch introduces functionality used by BOLT when re-linking the final binary. It adds to MemoryManager a new member function allowStubAllocation to control whether this MemoryManager supports increasing code size with stubs or not. Since BOLT can rewrite some files in-place, it needs to avoid stub insertion done by the linker. This patch also introduces allowsZeroSymbols to the JITSymbolResolver class, enabling us to finish a link successfully even when some symbols resolve to the value zero. When rewriting a binary, sometimes we do need to resolve a target to zero in case the input binary calls address zero and we want to be bug compatible. We also expose reassignSectionAddress as it is used by BOLT. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D97898 |
||
---|---|---|
.. | ||
IntelJITEvents | ||
Interpreter | ||
JITLink | ||
MCJIT | ||
OProfileJIT | ||
Orc | ||
PerfJITEvents | ||
RuntimeDyld | ||
CMakeLists.txt | ||
ExecutionEngine.cpp | ||
ExecutionEngineBindings.cpp | ||
GDBRegistrationListener.cpp | ||
SectionMemoryManager.cpp | ||
TargetSelect.cpp |