From: Nick Clifton Date: Fri, 29 Jun 2012 15:20:30 +0000 (+0000) Subject: PR ld/14189 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a8c887ddc54248ad44182cd273f5fd4b25767c10;p=binutils-gdb.git PR ld/14189 * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount for locally bound symbols. --- 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++;