1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/ExecutionEngine/RuntimeDyld
Hiroshi Inoue 127b396fb9 [PowerPC] fix broken JIT-compiled code with tail call optimization
The relocation for branch instructions in the dynamic loader of ExecutionEngine assumes branch instructions with R_PPC64_REL24 relocation type are only bl. However, with the tail call optimization, b instructions can be also used to jump into another function.
This patch makes the relocation to keep bits in the branch instruction other than the jump offset to avoid relocation rewrites a b instruction into bl.

Differential Revision: https://reviews.llvm.org/D47456

llvm-svn: 333502
2018-05-30 04:48:29 +00:00
..
AArch64 [RuntimeDyld][MachO] Add support for MachO::ARM64_RELOC_POINTER_TO_GOT reloc. 2018-05-23 21:27:07 +00:00
ARM [RuntimeDyld][MachO] Properly handle thumb to thumb calls within a section. 2018-05-09 01:38:13 +00:00
Mips [mips] Adds support for R_MIPS_26, HIGHER, HIGHEST relocations in RuntimeDyld. 2017-10-22 09:47:41 +00:00
PowerPC [PowerPC] fix broken JIT-compiled code with tail call optimization 2018-05-30 04:48:29 +00:00
SystemZ [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
X86 Handle IMAGE_REL_AMD64_ADDR32NB in RuntimeDyldCOFF 2018-02-21 17:18:20 +00:00