forked from OSchip/llvm-project
a33687ec58
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 |
||
---|---|---|
.. | ||
Targets | ||
CMakeLists.txt | ||
JITSymbol.cpp | ||
RTDyldMemoryManager.cpp | ||
RuntimeDyld.cpp | ||
RuntimeDyldCOFF.cpp | ||
RuntimeDyldCOFF.h | ||
RuntimeDyldChecker.cpp | ||
RuntimeDyldCheckerImpl.h | ||
RuntimeDyldELF.cpp | ||
RuntimeDyldELF.h | ||
RuntimeDyldImpl.h | ||
RuntimeDyldMachO.cpp | ||
RuntimeDyldMachO.h |