aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-01-19 13:28:04 +1030
committerAlan Modra <amodra@gmail.com>2022-01-19 16:45:45 +1030
commitedca615ac1901ddab9beec51a4bcf8395c307109 (patch)
tree674ea073aac0ccf46b9bf9a3f8614b10e9698e5c /bfd/elf64-ppc.c
parent8f22c9532b0a568046b8d05aa90631be822bba5f (diff)
downloadfsf-binutils-gdb-edca615ac1901ddab9beec51a4bcf8395c307109.zip
fsf-binutils-gdb-edca615ac1901ddab9beec51a4bcf8395c307109.tar.gz
fsf-binutils-gdb-edca615ac1901ddab9beec51a4bcf8395c307109.tar.bz2
PowerPC64 DT_RELR local PLT
Similarly to the local GOT case. * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate space for PLT relocs against local syms when enable_dt_relr.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r--bfd/elf64-ppc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 0ac96af..dccd535 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -10356,7 +10356,8 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd,
s = htab->pltlocal;
ent->plt.offset = s->size;
s->size += LOCAL_PLT_ENTRY_SIZE (htab);
- if (bfd_link_pic (info))
+ if (bfd_link_pic (info)
+ && !(info->enable_dt_relr && !htab->opd_abi))
htab->relpltlocal->size += sizeof (Elf64_External_Rela);
}
}