From 9c7a5748032251fd306e41010bea9c1ec5e19962 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Thu, 2 May 1996 02:41:20 +0000 Subject: [PATCH] * coffcode.h (coff_write_object_contents): In comdat section lookup, stop looking when section is found. --- bfd/ChangeLog | 5 +++++ bfd/coffcode.h | 35 +++++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f2e4ff52538..40c0fe4b4c6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Wed May 1 18:39:32 1996 Doug Evans + + * coffcode.h (coff_write_object_contents): In comdat section lookup, + stop looking when section is found. + Wed May 1 14:17:57 1996 Ian Lance Taylor * coffcode.h (STRING_SIZE_SIZE): Define. diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 520d048b03a..2c716f66ff2 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -2471,28 +2471,35 @@ coff_write_object_contents (abfd) { unsigned int i, count; asymbol **psym; + coff_symbol_type *csym; count = bfd_get_symcount (abfd); for (i = 0, psym = abfd->outsymbols; i < count; i++, psym++) { - coff_symbol_type *csym; - combined_entry_type *aux; - - if (strcmp ((*psym)->name, current->name) != 0) - continue; + /* Here *PSYM is the section symbol for CURRENT. */ - csym = coff_symbol_from (abfd, *psym); - if (csym == NULL - || csym->native == NULL - || csym->native->u.syment.n_numaux < 1 - || csym->native->u.syment.n_sclass != C_STAT - || csym->native->u.syment.n_type != T_NULL) - continue; + if (strcmp ((*psym)->name, current->name) == 0) + { + csym = coff_symbol_from (abfd, *psym); + if (csym == NULL + || csym->native == NULL + || csym->native->u.syment.n_numaux < 1 + || csym->native->u.syment.n_sclass != C_STAT + || csym->native->u.syment.n_type != T_NULL) + continue; + break; + } + } - /* Here *PSYM is the section symbol for CURRENT. */ + /* Did we find it? + Note that we might not if we're converting the file from + some other object file format. */ + if (i < count) + { + combined_entry_type *aux; /* We don't touch the x_checksum field. The - x_associated field is not currently supported. */ + x_associated field is not currently supported. */ aux = csym->native + 1; switch (current->flags & SEC_LINK_DUPLICATES) -- 2.30.2