From d63388ff701ef7f579dad732b4ffb7c89b1758d5 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Fri, 27 Jul 2007 22:04:23 +0000 Subject: [PATCH] 2007-07-27 Michael Snyder * cofflink.c (coff_link_add_symbols): Return if count is zero. --- bfd/ChangeLog | 2 ++ bfd/cofflink.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d8d371d6a02..4f519a3ea76 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,7 @@ 2007-07-27 Michael Snyder + * 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. diff --git a/bfd/cofflink.c b/bfd/cofflink.c index cdd5c51c30b..c6ca5595fc3 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -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; -- 2.30.2