diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-01-11 13:55:00 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-01-11 13:55:00 +0000 |
commit | 61576393d6e1d9d1647912039c863a65c20116cb (patch) | |
tree | f5f7a266b58864c22d5de695a17c37b312015fbb /bfd/elf-strtab.c | |
parent | 9d23b805ec1f0be6def0ff92fa900d216ea3867d (diff) | |
download | binutils-redhat-61576393d6e1d9d1647912039c863a65c20116cb.tar.gz |
PR ld/12549
* elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
(_bfd_elf_strtab_clear_all_refs): Define.
* elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
(_bfd_elf_strtab_clear_all_refs): Delete.
* elflink.c (elf_link_add_object_symbols): Clear out added
strtab refs. Correct handling of warning common symbols.
Diffstat (limited to 'bfd/elf-strtab.c')
-rw-r--r-- | bfd/elf-strtab.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/bfd/elf-strtab.c b/bfd/elf-strtab.c index 7d2fad4e51..1526755ab7 100644 --- a/bfd/elf-strtab.c +++ b/bfd/elf-strtab.c @@ -202,12 +202,10 @@ _bfd_elf_strtab_delref (struct elf_strtab_hash *tab, bfd_size_type idx) } void -_bfd_elf_strtab_clear_all_refs (struct elf_strtab_hash *tab) +_bfd_elf_strtab_clear_refs (struct elf_strtab_hash *tab, bfd_size_type idx) { - bfd_size_type idx; - - for (idx = 1; idx < tab->size; ++idx) - tab->array[idx]->refcount = 0; + while (idx < tab->size) + tab->array[idx++]->refcount = 0; } bfd_size_type |