[PATCH] D90331: [JITLink][ELF] Implement R_X86_64_PLT32 relocations

Stefan Gränitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 28 12:11:57 PDT 2020


sgraenitz created this revision.
sgraenitz added reviewers: lhames, anarazel, dblaikie.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.
sgraenitz requested review of this revision.

Basic implementation for call and jmp branches with 32 bit offset. Branches to local targets produce
Branch32 edges that are resolved like a regular PCRel32 relocations. Branches to external (undefined)
targets produce Branch32ToStub edges and go through a PLT entry by default. If the target happens to
get resolved within the 32 bit range from the callsite, the edge is relaxed during post-allocation
optimization. There is a test for each of these cases.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90331

Files:
  llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
  llvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90331.301374.patch
Type: text/x-patch
Size: 5853 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201028/4066dc12/attachment.bin>


More information about the llvm-commits mailing list