summaryrefslogtreecommitdiff
path: root/bfd/linker.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-10-24 11:24:31 +0000
committerAlan Modra <amodra@bigpond.net.au>2005-10-24 11:24:31 +0000
commit456a3819a54275384d5a3367bf8497587ee85f85 (patch)
tree1a62c7ed2e3057a92c96e030d27bba054f11320c /bfd/linker.c
parent50da6189bb9ea00b6be57bad057724a4afe49af0 (diff)
downloadbinutils-redhat-456a3819a54275384d5a3367bf8497587ee85f85.tar.gz
* elflink.c (elf_link_input_bfd): Don't use linker_mark and
SEC_EXCLUDE to test for sections dropped from output. Instead, use bfd_section_removed_from_list on normal sections. Don't attempt to handle symbols with unknown reserved section indices. * linker.c (_bfd_generic_link_output_symbols): Don't use linker_mark to test for symbols belonging to dropped sections. Do allow absolute symbols.
Diffstat (limited to 'bfd/linker.c')
-rw-r--r--bfd/linker.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/bfd/linker.c b/bfd/linker.c
index 0bfdfb2370..9e6199b835 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -2364,12 +2364,9 @@ _bfd_generic_link_output_symbols (bfd *output_bfd,
/* If this symbol is in a section which is not being included
in the output file, then we don't want to output the
- symbol. .bss and similar sections won't have the linker_mark
- field set. We also check if its output section has been
- removed from the output file. */
- if (((sym->section->flags & SEC_HAS_CONTENTS) != 0
- && ! sym->section->linker_mark)
- || bfd_section_removed_from_list (output_bfd,
+ symbol. */
+ if (!bfd_is_abs_section (sym->section)
+ && bfd_section_removed_from_list (output_bfd,
sym->section->output_section))
output = FALSE;