[PowerPC64] Don't store TLS_EXPLICIT in tls_mask
authorAlan Modra <amodra@gmail.com>
Thu, 18 Jul 2019 01:34:06 +0000 (11:04 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 18 Jul 2019 12:47:30 +0000 (22:17 +0930)
commit46e9995a207140408309dbea40c64f11843db777
tree58d3cce8c9b382bb415186a6b4d813687134b4f8
parentb00a0a86c40c681cf4b22a3630f85188ac849721
[PowerPC64] Don't store TLS_EXPLICIT in tls_mask

This saves a bit in tls_mask, and fixes a bug that could be triggered
in the unlikely case that both @got (usual ELF style) and @toc
(PowerOpen style) code was used to set up args for __tls_get_addr.

* elf64-ppc.c (TLS_EXPLICIT): Define as 256.
(ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
is more than 8 bits.
(ppc64_elf_tls_optimize): Likewise.  Make tls_set, tls_clear, and
tls_type vars unsigned int.
(ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
to select r_type edit.
bfd/ChangeLog
bfd/elf64-ppc.c