diff options
author | Lang Hames <lhames@gmail.com> | 2014-05-07 22:34:08 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2014-05-07 22:34:08 +0000 |
commit | fd284c6ce124ef2b78112a57b6c6dd5191aa3bc0 (patch) | |
tree | 19dc29e3d989ca664e76e5056cf25cc3f0fccc30 /llvm/lib/ExecutionEngine/RTDyldMemoryManager.cpp | |
parent | 9967f49a3c6218f37776cd9f1a0457e4447cc083 (diff) | |
download | bcm5719-llvm-fd284c6ce124ef2b78112a57b6c6dd5191aa3bc0.tar.gz bcm5719-llvm-fd284c6ce124ef2b78112a57b6c6dd5191aa3bc0.zip |
[RuntimeDyld] Make RuntimeDyldImpl::resolveExternalSymbols preserve the
relocation entries it applies.
Prior to this patch, RuntimeDyldImpl::resolveExternalSymbols discarded
relocations for external symbols once they had been applied. This causes issues
if the client calls MCJIT::finalizeLoadedModules more than once, and updates the
location of any symbols in between (e.g. by calling MCJIT::mapSectionAddress).
No test case yet: None of our in-tree memory managers support moving sections
around. I'll have to hack up a dummy memory manager before I can write a unit
test.
Fixes <rdar://problem/16764378>
llvm-svn: 208257
Diffstat (limited to 'llvm/lib/ExecutionEngine/RTDyldMemoryManager.cpp')
0 files changed, 0 insertions, 0 deletions