From 07c7ed6d7740dab37ec36a4a736bb2c550c99e86 Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Thu, 6 Oct 2011 08:59:36 +0000 Subject: [PATCH] * coffgen.c (coff_write_alien_symbol): Don't write symbol for discarded sections, if strip_discarded isn't explicit set to false. (coff_write_native_symbol): Likewise. --- bfd/ChangeLog | 7 +++++++ bfd/coffgen.c | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index efc68a3..7e858e2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2011-10-05 Kai Tietz + + * coffgen.c (coff_write_alien_symbol): Don't write + symbol for discarded sections, if strip_discarded isn't + explicit set to false. + (coff_write_native_symbol): Likewise. + 2011-10-05 DJ Delorie Nick Clifton diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 2508b51..87a3bfa 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -996,7 +996,15 @@ coff_write_alien_symbol (bfd *abfd, asection *output_section = symbol->section->output_section ? symbol->section->output_section : symbol->section; + struct bfd_link_info *link_info = coff_data (abfd)->link_info; + if ((!link_info || link_info->strip_discarded) + && !bfd_is_abs_section (symbol->section) + && symbol->section->output_section == bfd_abs_section_ptr) + { + symbol->name = ""; + return TRUE; + } native = &dummy; native->u.syment.n_type = T_NULL; native->u.syment.n_flags = 0; @@ -1061,6 +1069,15 @@ coff_write_native_symbol (bfd *abfd, { combined_entry_type *native = symbol->native; alent *lineno = symbol->lineno; + struct bfd_link_info *link_info = coff_data (abfd)->link_info; + + if ((!link_info || link_info->strip_discarded) + && !bfd_is_abs_section (symbol->symbol.section) + && symbol->symbol.section->output_section == bfd_abs_section_ptr) + { + symbol->symbol.name = ""; + return TRUE; + } /* If this symbol has an associated line number, we must store the symbol index in the line number field. We also tag the auxent to -- 2.7.4