From: Richard Sandiford Date: Mon, 10 Jun 2002 16:12:04 +0000 (+0000) Subject: * ldlang.c (lang_size_sections_1): Skip removed output sections. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;ds=sidebyside;h=e052cfbe6898f57a9f63055c9e02b116ce69b41b;p=deliverable%2Fbinutils-gdb.git * ldlang.c (lang_size_sections_1): Skip removed output sections. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 09204f27ee..f1701025b4 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2002-06-10 Richard Sandiford + + * ldlang.c (lang_size_sections_1): Skip removed output sections. + 2002-06-08 Alan Modra * ldexp.c: Replace CONST with const. diff --git a/ld/ldlang.c b/ld/ldlang.c index 6346a747b1..abe38345fc 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -2907,6 +2907,14 @@ lang_size_sections_1 (s, output_section_statement, prev, fill, dot, relax) /* This section was never actually created. */ break; + /* The section might have been removed after its statement was + added. For example, ldemul_before_allocation can remove + dynamic sections if they turn out not to be needed. */ + if (!link_info.relocateable + && (bfd_get_section_flags (output_bfd, os->bfd_section) + & SEC_EXCLUDE) != 0) + break; + /* If this is a COFF shared library section, use the size and address from the input section. FIXME: This is COFF specific; it would be cleaner if there were some other way