diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6df9902..1afd7e4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-06-29 Nick Clifton <nickc@redhat.com> + + PR ld/14189 + * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount + for locally bound symbols. + 2012-06-29 Alan Modra <amodra@gmail.com> * section.c (bfd_get_linker_section): New function. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 7083422..bc1f195 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -12669,7 +12669,8 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, /* If the symbol is a function that doesn't bind locally, this relocation will need a PLT entry. */ - root_plt->refcount += 1; + if (root_plt->refcount != -1) + root_plt->refcount += 1; if (!call_reloc_p) arm_plt->noncall_refcount++; |