PR ld/13066
authorAlan Modra <amodra@gmail.com>
Tue, 9 Aug 2011 09:27:34 +0000 (09:27 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 9 Aug 2011 09:27:34 +0000 (09:27 +0000)
PR ld/12762
* plugin.c (add_symbols): Revert 2011-08-05.

ld/ChangeLog
ld/plugin.c

index bde12e57263ca09a357d3b08ba9aa8eaeb0dca66..e3545148f81cbcc70f10067da1cab774e815bf37 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-09  Alan Modra  <amodra@gmail.com>
+
+       PR ld/13066
+       * plugin.c (add_symbols): Revert 2011-08-05.
+
 2011-08-06  Kai Tietz  <ktietz@redhat.com>
 
        * scripttempl/pep.sc: Add .debug_macro section.
index 5ba1fca845a62394e6b00b9b664981a66f0d756e..9baeb468a9543314bed4b1c262ef6560a6e683e5 100644 (file)
@@ -380,11 +380,11 @@ add_symbols (void *handle, int nsyms, const struct ld_plugin_symbol *syms)
 {
   asymbol **symptrs;
   bfd *abfd = handle;
-  int n, k;
+  int n;
 
   ASSERT (called_plugin);
   symptrs = xmalloc (nsyms * sizeof *symptrs);
-  for (n = 0, k = 0; n < nsyms; n++)
+  for (n = 0; n < nsyms; n++)
     {
       enum ld_plugin_status rv;
       asymbol *bfdsym;
@@ -394,16 +394,15 @@ add_symbols (void *handle, int nsyms, const struct ld_plugin_symbol *syms)
          struct already_linked linked;
          linked.comdat_key = xstrdup (syms[n].comdat_key);
          linked.u.abfd = abfd;
-         if (bfd_section_already_linked (abfd, &linked, &link_info))
-           continue;
+         bfd_section_already_linked (abfd, &linked, &link_info);
        }
       bfdsym = bfd_make_empty_symbol (abfd);
-      symptrs[k++] = bfdsym;
+      symptrs[n] = bfdsym;
       rv = asymbol_from_plugin_symbol (abfd, bfdsym, syms + n);
       if (rv != LDPS_OK)
        return rv;
     }
-  bfd_set_symtab (abfd, symptrs, k);
+  bfd_set_symtab (abfd, symptrs, nsyms);
   return LDPS_OK;
 }