powerpc TLS in PIEs
authorAlan Modra <amodra@gmail.com>
Sat, 4 Nov 2017 03:11:29 +0000 (13:41 +1030)
committerAlan Modra <amodra@gmail.com>
Sat, 4 Nov 2017 23:07:33 +0000 (09:37 +1030)
commitf15d0b545b9e9dada8d1398163693f67792e9e79
treee5d754764e1f0a3e6139d8f2a3d9a72273170ccf
parent98bbb1b86180324b278842d8d73c79cb5d76d349
powerpc TLS in PIEs

This patch removes unnecessary GOT IE TLS relocations in PIEs.  Useful
with --no-tls-optimize, or with an enormous TLS segment.  With the
default --tls-optimize in effect IE code sequences will be edited to
LE under the same circumstances we can remove the GOT reloc.

* elf32-ppc.c (got_entries_needed, got_relocs_needed): New functions.
(allocate_dynrelocs, ppc_elf_size_dynamic_sections): Use them here.
(ppc_elf_relocate_section): Don't output a dynamic relocation
for IE GOT entries in an executable.
* elf64-ppc.c (allocate_got): Trim unnecessary TPREL relocs.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_relocate_section): Likewise.
bfd/ChangeLog
bfd/elf32-ppc.c
bfd/elf64-ppc.c