Fix commit 980aa3e6
authorAlan Modra <amodra@gmail.com>
Fri, 26 Aug 2016 23:29:29 +0000 (08:59 +0930)
committerAlan Modra <amodra@gmail.com>
Sat, 27 Aug 2016 00:12:09 +0000 (09:42 +0930)
commit8a9e8e72fe88095043d16f8a56b5a1e150ee288b
treed7fff3fcb432159e06b8e51d44780716e36d254c
parente55c2fc0ef151054f4a1603799d8ecd6a3f407bd
Fix commit 980aa3e6

Commit 980aa3e6 was supposed to cure dyn_reloc counting problems, but
did the opposite.  For PIC we count two types of dyn_reloc, those on
pc-relative relocs, and the total.  If a sym needs pc-relative dyn
relocs then all the relocs are dynamic.  If not, then only those that
are must_be_dyn_reloc are dynamic.

PR 20519
* elf64-ppc.c (pc_dynrelocs): New function.
(ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
handle pic dynamic relocs.
bfd/ChangeLog
bfd/elf64-ppc.c