mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
85def5bf4e
This patch is the initial support, it implements translation from object file to JIT link graph, and very few relocations were supported. Currently, the test file ELF_pc_indirect.s is passed, the HelloWorld program(compiled with mno-relax flag) can be linked correctly and run on instruction emulator correctly. In the downstream implementation, I have implemented the GOT, PLT function, and EHFrame and some optimization will be implement soon. I will organize the code in to patches, then gradually send it to upstream. Differential Revision: https://reviews.llvm.org/D105429
45 lines
632 B
CMake
45 lines
632 B
CMake
add_llvm_component_library(LLVMJITLink
|
|
EHFrameSupport.cpp
|
|
JITLink.cpp
|
|
JITLinkGeneric.cpp
|
|
JITLinkMemoryManager.cpp
|
|
|
|
# Formats:
|
|
|
|
# MachO
|
|
MachO.cpp
|
|
MachO_arm64.cpp
|
|
MachO_x86_64.cpp
|
|
MachOLinkGraphBuilder.cpp
|
|
|
|
# ELF
|
|
|
|
ELF.cpp
|
|
ELFLinkGraphBuilder.cpp
|
|
ELF_riscv.cpp
|
|
ELF_x86_64.cpp
|
|
|
|
# Architectures:
|
|
riscv.cpp
|
|
x86_64.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/JITLink
|
|
|
|
DEPENDS
|
|
intrinsics_gen
|
|
|
|
LINK_COMPONENTS
|
|
BinaryFormat
|
|
Object
|
|
OrcTargetProcess
|
|
Support
|
|
)
|
|
|
|
target_link_libraries(LLVMJITLink
|
|
PRIVATE
|
|
LLVMObject
|
|
LLVMOrcTargetProcess
|
|
LLVMSupport
|
|
)
|