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
There is a lot of redundancy in these addRelocations functions. Do you think we could add a generic function (or functions) to the ELFLinkGraphBuilder so that clients can just write:
?
I don't think this is something that we should do for this review, but it should be done either before or after it lands so that future backends don't keep copying this code.