diff options
author | Alan Modra <amodra@gmail.com> | 2021-05-03 12:28:46 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-05-03 15:34:17 +0930 |
commit | 4916030821bb0b052091bd1e29f1851e1512a056 (patch) | |
tree | d31767be8a1f6dec3edb1871a10f9770d04fe8e1 /bfd/ChangeLog | |
parent | b293661219c36e72acb80502a86b51160bb88cfd (diff) | |
download | binutils-4916030821bb0b052091bd1e29f1851e1512a056.zip binutils-4916030821bb0b052091bd1e29f1851e1512a056.tar.gz binutils-4916030821bb0b052091bd1e29f1851e1512a056.tar.bz2 |
PPC: undefweak dynamic relocs
This makes the default for ppc to keep dynamic relocs on undefweak
symbols when the code won't cause DT_TEXTREL (for instance when -fPIE
or -fPIC). If ld is given -z dynamic-undefined-weak then dynamic
relocations will be created for non-PIC at the expense of possibly
causing DT_TEXTREL to be set on ppc32. Note that DT_TEXTREL and GNU
indirect functions are incompatible.
* elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak
symbols when -z dynamic-undefined-weak or when there are no
dynamic relocs in read-only sections and -z nodynamic-undefined-weak
is not given.
* elf64-ppc.c (allocate_dynrelocs): Likewise.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 293fd99..cdcf5d7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,13 @@ 2021-05-03 Alan Modra <amodra@gmail.com> + * elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak + symbols when -z dynamic-undefined-weak or when there are no + dynamic relocs in read-only sections and -z nodynamic-undefined-weak + is not given. + * elf64-ppc.c (allocate_dynrelocs): Likewise. + +2021-05-03 Alan Modra <amodra@gmail.com> + * elf32-ppc.c (allocate_dynrelocs): Call ensure_undef_dynamic for weak undefined symols that only appear on PLT relocs. * elf64-ppc.c (allocate_dynrelocs): Likewise. |