aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.c3
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++;