* elflink.c (elf_gc_sweep): Set dynsymcount to correct value.
authorDavid Daney <ddaney@avtrex.com>
Sun, 31 Jul 2005 06:14:15 +0000 (06:14 +0000)
committerDavid Daney <ddaney@avtrex.com>
Sun, 31 Jul 2005 06:14:15 +0000 (06:14 +0000)
bfd/ChangeLog
bfd/elflink.c

index ef863dcd6c2866eac0ba538ad6e6c9414e725600..957841eb104a2faa66a5dd7958fbf5cf133b94fd 100644 (file)
@@ -1,3 +1,7 @@
+2005-07-30  David Daney  <ddaney@avtrex.com>
+
+       * elflink.c (elf_gc_sweep):  Set dynsymcount to correct value.
+
 2005-07-29  David Daney  <ddaney@avtrex.com>
 
        * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook):  Ignore _gp_disp
index 092119aa0be5f6d62287a568c5557a0843557c51..082b5303021ba472c187b5b7768e6cbce332cbac 100644 (file)
@@ -8943,6 +8943,12 @@ elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook)
 
     elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol, &i);
 
+    /* There is an unused NULL entry at the head of the table which
+       we must account for in our count.  Unless there weren't any
+       symbols, which means we'll have no table at all.  */
+    if (i != 0)
+      ++i;
+
     elf_hash_table (info)->dynsymcount = i;
   }