2007-07-27 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Fri, 27 Jul 2007 22:04:23 +0000 (22:04 +0000)
committerMichael Snyder <msnyder@vmware.com>
Fri, 27 Jul 2007 22:04:23 +0000 (22:04 +0000)
* cofflink.c (coff_link_add_symbols): Return if count is zero.

bfd/ChangeLog
bfd/cofflink.c

index d8d371d..4f519a3 100644 (file)
@@ -1,5 +1,7 @@
 2007-07-27  Michael Snyder  <msnyder@access-company.com>
 
+       * cofflink.c (coff_link_add_symbols): Return if count is zero.
+
        * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
 
        * aoutx.h (slurp_symbol_table): Return if count == 0.
index cdd5c51..c6ca559 100644 (file)
@@ -302,6 +302,11 @@ coff_link_add_symbols (bfd *abfd,
   bfd_byte *esym_end;
   bfd_size_type amt;
 
+  symcount = obj_raw_syment_count (abfd);
+
+  if (symcount == 0)
+    return TRUE;               /* Nothing to do.  */
+
   /* Keep the symbols during this function, in case the linker needs
      to read the generic symbols in order to report an error message.  */
   keep_syms = obj_coff_keep_syms (abfd);
@@ -312,13 +317,11 @@ coff_link_add_symbols (bfd *abfd,
   else
     default_copy = TRUE;
 
-  symcount = obj_raw_syment_count (abfd);
-
   /* We keep a list of the linker hash table entries that correspond
      to particular symbols.  */
   amt = symcount * sizeof (struct coff_link_hash_entry *);
   sym_hash = bfd_zalloc (abfd, amt);
-  if (sym_hash == NULL && symcount != 0)
+  if (sym_hash == NULL)
     goto error_return;
   obj_coff_sym_hashes (abfd) = sym_hash;