PowerPC64 DT_RELR local GOT

Fixes another case where we end up with superfluous R_PPC64_NONE.

	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
	space for GOT relocs against non-TLS local syms when enable_dt_relr.
	(ppc64_elf_layout_multitoc): Likewise.
This commit is contained in:
Alan Modra
2022-01-19 10:53:53 +10:30
parent 05900cefe2
commit 8f22c9532b

View File

@ -10318,8 +10318,9 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd,
htab->got_reli_size += rel_size;
}
else if (bfd_link_pic (info)
&& !(ent->tls_type != 0
&& bfd_link_executable (info)))
&& (ent->tls_type == 0
? !info->enable_dt_relr
: !bfd_link_executable (info)))
{
asection *srel = ppc64_elf_tdata (ibfd)->relgot;
srel->size += rel_size;
@ -12815,8 +12816,9 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
htab->got_reli_size += rel_size;
}
else if (bfd_link_pic (info)
&& !(ent->tls_type != 0
&& bfd_link_executable (info)))
&& (ent->tls_type == 0
? !info->enable_dt_relr
: !bfd_link_executable (info)))
{
asection *srel = ppc64_elf_tdata (ibfd)->relgot;
srel->size += rel_size;