From f08036905689c42e7d27f72c8a22c82812d23597 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 10 Oct 2009 04:58:48 +0000 Subject: [PATCH] * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for excluded output sections. --- bfd/ChangeLog | 5 +++++ bfd/cofflink.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6237081ee1..d97d5546ed 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-10-10 Alan Modra + + * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for + excluded output sections. + 2009-10-09 Tristan Gingold * mach-o.c (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_RPATH. diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 3253e5eecd..a29b687950 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -1514,11 +1514,13 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *finfo, bfd *input_bfd) /* Skip section symbols for sections which are not going to be emitted. */ if (!skip - && dont_skip_symbol == 0 + && !dont_skip_symbol && isym.n_sclass == C_STAT && isym.n_type == T_NULL - && isym.n_numaux > 0 - && (*secpp)->output_section == bfd_abs_section_ptr) + && isym.n_numaux > 0 + && ((*secpp)->output_section == bfd_abs_section_ptr + || bfd_section_removed_from_list (output_bfd, + (*secpp)->output_section))) skip = TRUE; #endif