PPC: undefweak dynamic relocs
authorAlan Modra <amodra@gmail.com>
Mon, 3 May 2021 02:58:46 +0000 (12:28 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 3 May 2021 06:04:17 +0000 (15:34 +0930)
commit4916030821bb0b052091bd1e29f1851e1512a056
treed31767be8a1f6dec3edb1871a10f9770d04fe8e1
parentb293661219c36e72acb80502a86b51160bb88cfd
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.
bfd/ChangeLog
bfd/elf32-ppc.c
bfd/elf64-ppc.c