aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2012-06-29 15:20:30 +0000
committerNick Clifton <nickc@redhat.com>2012-06-29 15:20:30 +0000
commita8c887ddc54248ad44182cd273f5fd4b25767c10 (patch)
treec7901b07b40be6f75eee514516a62dcf3620518a /bfd/elf32-arm.c
parent99aad254595b8837203f467344727c1f1043c378 (diff)
downloadgdb-a8c887ddc54248ad44182cd273f5fd4b25767c10.zip
gdb-a8c887ddc54248ad44182cd273f5fd4b25767c10.tar.gz
gdb-a8c887ddc54248ad44182cd273f5fd4b25767c10.tar.bz2
PR ld/14189
* elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount for locally bound symbols.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c3
1 files changed, 2 insertions, 1 deletions
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++;