[MCJIT] Fix the ARM BR24 relocation in RuntimeDyldMachO.
authorLang Hames <lhames@gmail.com>
Wed, 30 Jul 2014 03:35:05 +0000 (03:35 +0000)
committerLang Hames <lhames@gmail.com>
Wed, 30 Jul 2014 03:35:05 +0000 (03:35 +0000)
commit1316365e2cee88687b503d3818987a5fed147463
tree21fd3153e620b2a893bc138cc21133249f50ff80
parent005214ce50dd62936cf5834d46a2dd257a7f0b3d
[MCJIT] Fix the ARM BR24 relocation in RuntimeDyldMachO.

We now (1) correctly decode the branch immediate, (2) modify the immediate to
corretly treat it as PC-rel, and (3) properly populate the stub entry.
Previously we had been doing each of these wrong.

<rdar://problem/17750739>

llvm-svn: 214285
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
llvm/test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s