From 483a75dd573b54b14116d4b766057f965a62ec06 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 16 Sep 2010 00:06:10 +0000 Subject: bfd/ * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD. * elflink.c (elf_link_input_bfd): Likewise. ld/ * ld.texinfo (NOLOAD): Do not erroneously state that contents will appear in output file. * ldlang.c (lang_add_section): Clear SEC_HAS_CONTENTS on noload unless SEC_COFF_SHARED_LIBRARY. (map_input_to_output_sections): Don't set SEC_HAS_CONTENTS for noload output sections. (lang_size_sections_1): Don't test SEC_NEVER_LOAD when deciding to update dot in region. Ditto when setting SEC_ALLOC if dot advanced due to assignment. * ldwrite.c (build_link_order): Don't test SEC_NEVER_LOAD. --- bfd/ChangeLog | 5 +++++ bfd/elf.c | 3 +-- bfd/elflink.c | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f5f69258f3..e96c66eec5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2010-09-16 Alan Modra + + * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD. + * elflink.c (elf_link_input_bfd): Likewise. + 2010-09-15 Kai Tietz * pei-x86_64.c (pex64_get_unwind_info): Reorgnized. diff --git a/bfd/elf.c b/bfd/elf.c index f5dfcd63cd..5ec92e92b9 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -2452,8 +2452,7 @@ int bfd_elf_get_default_section_type (flagword flags) { if ((flags & SEC_ALLOC) != 0 - && ((flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0 - || (flags & SEC_NEVER_LOAD) != 0)) + && (flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0) return SHT_NOBITS; return SHT_PROGBITS; } diff --git a/bfd/elflink.c b/bfd/elflink.c index 1446885c9f..4351e28cfe 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -2829,7 +2829,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_link_hash_entry *h, /* Return true if the symbol referred to by H should be considered to resolve local to the current module, and false otherwise. Differs from (the inverse of) _bfd_elf_dynamic_symbol_p in the treatment of - undefined symbols. The two functions are vitually identical except + undefined symbols. The two functions are virtually identical except for the place where forced_local and dynindx == -1 are tested. If either of those tests are true, _bfd_elf_dynamic_symbol_p will say the symbol is local, while _bfd_elf_symbol_refs_local_p will say @@ -9843,7 +9843,6 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) { /* FIXME: octets_per_byte. */ if (! (o->flags & SEC_EXCLUDE) - && ! (o->output_section->flags & SEC_NEVER_LOAD) && ! bfd_set_section_contents (output_bfd, o->output_section, contents, (file_ptr) o->output_offset, -- cgit v1.2.1