llvm-project/llvm/lib/ExecutionEngine/JITLink
Stefan Gränitz 2ed91da0f1 [JITLink] Add initial Aarch64 support
Set up basic infrastructure for 64-bit ARM architecture support in JITLink. It allows for loading a minimal object file and resolving a single relocation. Advanced features like GOT and PLT handling or relaxations were intentionally left out for the moment.

This patch follows the idea to keep implementations for ARM (32-bit) and Aaarch64 (64-bit) separate, because:
* it might be easier to share code with the MachO "arm64" JITLink backend
* LLVM has individual targets for ARM and Aaarch64 as well

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D108986
2021-09-03 10:48:06 +02:00
..
CMakeLists.txt [JITLink] Add initial Aarch64 support 2021-09-03 10:48:06 +02:00
DefineExternalSectionStartAndEndSymbols.h [JITLink][ELF/x86-64] Add support for R_X86_64_GOTPC64 and R_X86_64_GOT64. 2021-03-21 21:52:54 -07:00
EHFrameSupport.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
EHFrameSupportImpl.h [JITLink] Add a null-terminator to eh-frame sections on ELF/x86-64. 2021-03-09 22:16:11 -08:00
ELF.cpp [JITLink] Add initial Aarch64 support 2021-09-03 10:48:06 +02:00
ELFLinkGraphBuilder.cpp [JITLink][ELF] Move ELF section and symbol parsing into ELFLinkGraphBuilder. 2021-06-29 09:59:49 +10:00
ELFLinkGraphBuilder.h [ORC][JITLink][ELF] Treat STB_GNU_UNIQUE as Weak in the JIT. 2021-08-27 14:41:28 +10:00
ELF_aarch64.cpp [JITLink] Add initial Aarch64 support 2021-09-03 10:48:06 +02:00
ELF_riscv.cpp [JITLink][RISCV] Support GOT/PLT relocations 2021-08-28 11:52:21 +08:00
ELF_x86_64.cpp [JITLink] Add support of R_X86_64_32S relocation 2021-08-22 16:45:25 +08:00
JITLink.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
JITLinkGeneric.cpp [JITLink] Enable creation and management of mutable block content. 2021-05-24 22:09:36 -07:00
JITLinkGeneric.h [JITLink] Enable creation and management of mutable block content. 2021-05-24 22:09:36 -07:00
JITLinkMemoryManager.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
MachO.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
MachOLinkGraphBuilder.cpp [JITLink][MachO] Add more detail to error message. 2021-08-25 13:31:52 +10:00
MachOLinkGraphBuilder.h [JITLink][MachO] Detect MachO::S_THREAD_LOCAL_ZEROFILL sections as zero-fill. 2021-07-21 09:10:10 +10:00
MachO_arm64.cpp [JITLink][MachO][arm64] Build GOT entries for defined symbols too. 2021-05-25 12:19:09 -07:00
MachO_x86_64.cpp [JITLink] Unify x86-64 MachO and ELF 's optimize GOT/Stub function 2021-08-15 00:33:09 +08:00
PerGraphGOTAndPLTStubsBuilder.h [JITLink] Start laying the groundwork for ELF x86-64 large code model support. 2021-03-21 20:56:47 -07:00
aarch64.cpp [JITLink] Add initial Aarch64 support 2021-09-03 10:48:06 +02:00
riscv.cpp [JITLink] Add riscv.cpp 2021-07-23 23:57:44 +08:00
x86_64.cpp Silence a signed/unsigned mismatch warning; NFC 2021-08-30 08:51:08 -04:00