diff options
Diffstat (limited to 'bfd/cofflink.c')
-rw-r--r-- | bfd/cofflink.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/bfd/cofflink.c b/bfd/cofflink.c index cdd5c51..c6ca559 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; |