[PATCH] D66925: [PPC32] Emit R_PPC_GOT_TPREL16 instead R_PPC_GOT_TPREL16_LO
Jinsong Ji via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 29 11:33:03 PDT 2019
jsji added a subscriber: Ha.
jsji added a comment.
The change looks fine to me, as LLVM currently doesn't generate relocation pairs.
However, I think in theory linker should support `R_PPC_TPREL16_LO` even with PPC32.
As they are well defined according to the PPC 32 Linux ABI here:
https://www.polyomino.org.uk/publications/2011/Power-Arch-32-bit-ABI-supp-1.0-Linux.pdf
Table 4-36. TLS Relocation Table
R_PPC_TPREL16 69 half16* tprel
R_PPC_TPREL16_LO 70 half16 #lo(tprel)
R_PPC_TPREL16_HI 71 half16 #hi <https://reviews.llvm.org/tag/calculatorph/>(tprel)
R_PPC_TPREL16_HA 72 half16 #ha(tprel)
And compiler may generate @ha/@l pair according to Table 4-19. Local Exec Initial Relocations (Sequence 2)
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66925/new/
https://reviews.llvm.org/D66925
More information about the llvm-commits
mailing list