mirror of
https://github.com/intel/llvm.git
synced 2026-02-07 15:44:20 +08:00
baffdb8bc28e870de0810c4517a1ade1f4cc6390
This change introduces new synthetic sections IpltSection, IgotPltSection that represent the ifunc entries that would previously have been put in the PltSection and the GotPltSection. The separation makes sure that the R_*_IRELATIVE relocations are placed after the non R_*_IRELATIVE relocations, which permits ifunc resolvers to know that the .got.plt slots will be initialized prior to the resolver being called. A secondary benefit is that for ARM we can move the IgotPltSection and its dynamic relocations to the .got and .rel.dyn as the ARM glibc expects all the R_*_IRELATIVE relocations to be in the .rel.dyn Differential revision: https://reviews.llvm.org/D27406 llvm-svn: 289045
…
Languages
LLVM
41.4%
C++
31.4%
C
13%
Assembly
9.6%
MLIR
1.5%
Other
2.7%