[PATCH] D26029: [LLD][ARM] ARM IRELATIVE relocations are in rel.dyn
Peter Smith via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 31 11:14:32 PDT 2016
peter.smith added a comment.
On reflection I think that it could be possible to clean this up if the rel.dyn and rel.plt OutputSections are rewritten in terms of InputSections. The linker in Relocation.cpp would create the R_<TARGET>_IRELATIVE relocations in an InputSection called .rel.iplt or .rela.iplt. On targets such as AArch64 and X86 rela.iplt would be allocated to the .rela.plt OutputSection, on ARM and PPC (if the PPC lld Target supported it) would go into the .rel.dyn OutputSection.
The PLT and GOT + Relocs as InputSection may be some way off, is there any chance of tidying the code up enough or does it need to wait for the InputSection work to complete? The static glibc uses IFunc for memcpy which is used during initialisation so it will block all static linking on ARM.
https://reviews.llvm.org/D26029
More information about the llvm-commits
mailing list