[JITLink][ELF][AArch64] Implement ADR_GOT_PAGE, LD64_GOT_LO12_NC.
authorSunho Kim <ksunhokim123@gmail.com>
Wed, 8 Jun 2022 01:17:26 +0000 (18:17 -0700)
committerLang Hames <lhames@gmail.com>
Wed, 8 Jun 2022 01:20:37 +0000 (18:20 -0700)
commit2094fad00962c1be99ed4db2cafb18d40d3cf8a3
tree6bd76b845c99da594ccc68e5f79d6d5bfbc4a3d0
parentb37d84aa8d59dde2fae7388da5101bf471ec3434
[JITLink][ELF][AArch64] Implement ADR_GOT_PAGE, LD64_GOT_LO12_NC.

This patch implements two most commonly used Global Offset Table relocations in
ELF/AARCH64: R_AARCH64_ADR_GOT_PAGE and R_AARCH64_LD64_GOT_LO12_NC. It
implements the GOT table manager by extending the existing
PerGraphGOTAndPLTStubsBuilder. A future patch will unify this with the MachO
implementation to produce a generic aarch64 got table manager.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D127057
llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s