[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)
commit1febfa28a46094f27ce71578fd419d5ef43cfcad
tree1c38ea91ad825574910a1cc2ac41f49521a84e93
parente54c557b0126d6f067c13d237e5fa0a198deccc2
[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>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214285 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h
lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h
lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s