From a8c887ddc54248ad44182cd273f5fd4b25767c10 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 29 Jun 2012 15:20:30 +0000 Subject: [PATCH] PR ld/14189 * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount for locally bound symbols. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-arm.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + + 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 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++; -- 2.7.4