* cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for
authorAlan Modra <amodra@gmail.com>
Sat, 10 Oct 2009 04:58:48 +0000 (04:58 +0000)
committerAlan Modra <amodra@gmail.com>
Sat, 10 Oct 2009 04:58:48 +0000 (04:58 +0000)
excluded output sections.

bfd/ChangeLog
bfd/cofflink.c

index 6237081ee155b13c2e3507506e8530c339cf97c6..d97d5546ede5a03795c2dcac654e61bbe1a2ac2e 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for
+       excluded output sections.
+
 2009-10-09  Tristan Gingold  <gingold@adacore.com>
 
        * mach-o.c (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_RPATH.
index 3253e5eecd7a923f8e908b347122af84116180e8..a29b68795049c613d865f8133a02dcded1485cbf 100644 (file)
@@ -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