[RuntimeDyld] Teach RuntimeDyldMachO how to handle scattered VANILLA relocs on
authorLang Hames <lhames@gmail.com>
Thu, 22 May 2014 22:30:13 +0000 (22:30 +0000)
committerLang Hames <lhames@gmail.com>
Thu, 22 May 2014 22:30:13 +0000 (22:30 +0000)
commit7f9fc2b339fa26b279135007a6b5568624c5a2ef
tree5477971b471c4e82f64ff92292fb27cf2daa40bd
parent0a0d6b4bb123e833df89cbb287e467f811324882
[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>

llvm-svn: 209478
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h