From 0f0a5e5880648f0c1c5177d00acd6505733e7aec Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 4 Jun 2008 14:24:05 +0000 Subject: [PATCH] * elf.c (ignore_section_sym): Don't test section sym value here. (elf_map_symbols): Instead check zero value here as was done prior to 2006-05-26 change. --- bfd/ChangeLog | 6 ++++++ bfd/elf.c | 11 +++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8b315a338b4..c61360e4b6a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2008-06-04 Alan Modra + + * elf.c (ignore_section_sym): Don't test section sym value here. + (elf_map_symbols): Instead check zero value here as was done prior + to 2006-05-26 change. + 2008-06-04 Nick Clifton PR ld/6019 diff --git a/bfd/elf.c b/bfd/elf.c index 37a150191cf..c5da23b2885 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -3078,17 +3078,15 @@ sym_is_global (bfd *abfd, asymbol *sym) } /* Don't output section symbols for sections that are not going to be - output. Also, don't output section symbols for reloc and other - special sections. */ + output. */ static bfd_boolean ignore_section_sym (bfd *abfd, asymbol *sym) { return ((sym->flags & BSF_SECTION_SYM) != 0 - && (sym->value != 0 - || (sym->section->owner != abfd - && (sym->section->output_section->owner != abfd - || sym->section->output_offset != 0)))); + && !(sym->section->owner == abfd + || (sym->section->output_section->owner == abfd + && sym->section->output_offset == 0))); } static bfd_boolean @@ -3131,6 +3129,7 @@ elf_map_symbols (bfd *abfd) asymbol *sym = syms[idx]; if ((sym->flags & BSF_SECTION_SYM) != 0 + && sym->value == 0 && !ignore_section_sym (abfd, sym)) { asection *sec = sym->section; -- 2.30.2