summaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2014-05-22 22:30:13 +0000
committerLang Hames <lhames@gmail.com>2014-05-22 22:30:13 +0000
commit8f33e4c5e430764ffd95d4d0cf86ef8816e745b6 (patch)
treefe057bd07830381b8dbb65edaeebdb46ece06a76 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
parentff93350aa69cc7fa4ade346e550eef51fff46ceb (diff)
downloadllvm-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.h6
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),