* elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
commitc7e4cbba0e3512e334e10d8d303b13cff6df0d84
authorAlan Modra <amodra@bigpond.net.au>
Mon, 3 Aug 2009 10:23:18 +0000 (3 10:23 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Mon, 3 Aug 2009 10:23:18 +0000 (3 10:23 +0000)
tree885b421e7c755005ba366fc5587ec276bf55317d
parentd642f354b4d18ef5449fe3809cda01238b96ea70
* elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
for local ifunc symbols in non-pie executables, regardless of
reloc type.  Don't specially create ifunc dyn relocs.  Tidy ifunc
code so that it's obvious that we only do anything special for
local ifunc syms.
(ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
(allocate_dynrelocs): Correct comment for syms defined in plt.
Don't specially allocate ifunc dyn relocs.
(ppc_elf_relax_section): Relax branches to ifunc plt entries too.
(ppc_elf_relocate_section): Set "relocation" value for ifunc
syms in non-pie executables.  No specially allocated dyn relocs
for ifunc to write.  Allow for local sym on R_PPC_RELAX32_PLT.
(ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
a non-pie executable.
bfd/ChangeLog
bfd/elf32-ppc.c