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