diff options
author | Lang Hames <lhames@gmail.com> | 2014-05-22 22:30:13 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2014-05-22 22:30:13 +0000 |
commit | 8f33e4c5e430764ffd95d4d0cf86ef8816e745b6 (patch) | |
tree | fe057bd07830381b8dbb65edaeebdb46ece06a76 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h | |
parent | ff93350aa69cc7fa4ade346e550eef51fff46ceb (diff) | |
download | llvm-8f33e4c5e430764ffd95d4d0cf86ef8816e745b6.tar.gz llvm-8f33e4c5e430764ffd95d4d0cf86ef8816e745b6.tar.bz2 llvm-8f33e4c5e430764ffd95d4d0cf86ef8816e745b6.tar.xz |
[RuntimeDyld] Teach RuntimeDyldMachO how to handle scattered VANILLA relocs on
i386.
This fixes two more MCJIT regression tests on i386:
ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll
ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll
The implementation of processScatteredVANILLA is tasteless (*ba-dum-ching*),
but I'm working on a substantial tidy-up of RuntimeDyldMachO that should
improve things.
This patch also fixes a type-o in RuntimeDyldMachO::processSECTDIFFRelocation,
and teaches that method to skip over the PAIR reloc following the SECTDIFF.
<rdar://problem/16961886>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209478 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h index 138c59b95c..6911f2f07a 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h @@ -71,6 +71,12 @@ private: ObjectImage &ObjImg, ObjSectionToIDMap &ObjSectionToID); + relocation_iterator processI386ScatteredVANILLA( + unsigned SectionID, + relocation_iterator RelI, + ObjectImage &ObjImg, + ObjSectionToIDMap &ObjSectionToID); + struct EHFrameRelatedSections { EHFrameRelatedSections() : EHFrameSID(RTDYLD_INVALID_SECTION_ID), |