diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6df990270b1..1afd7e42ee0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-06-29 Nick Clifton + + PR ld/14189 + * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount + for locally bound symbols. + 2012-06-29 Alan Modra * section.c (bfd_get_linker_section): New function. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 7083422309f..bc1f19532cd 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++;