diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 10 | ||||
-rw-r--r-- | bfd/elf.c | 4 | ||||
-rw-r--r-- | bfd/elf32-i370.c | 3 | ||||
-rw-r--r-- | bfd/elf32-ppc.c | 3 |
4 files changed, 14 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f5dc25e..8c3eb13 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +2010-05-18 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/11600 + * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE + (elf_fake_sections): Likewise. + + * elf32-i370.c (i370_elf_section_from_shdr): Don't handle + SHF_EXCLUDE here. + * elf32-ppc.c (ppc_elf_fake_sections): Likewise. + 2010-05-17 Tristan Gingold <gingold@adacore.com> * vms-alpha.c: Include esgps.h and eidc.h. @@ -876,6 +876,8 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, return FALSE; if ((hdr->sh_flags & SHF_TLS) != 0) flags |= SEC_THREAD_LOCAL; + if ((hdr->sh_flags & SHF_EXCLUDE) != 0) + flags |= SEC_EXCLUDE; if ((flags & SEC_ALLOC) == 0) { @@ -2627,6 +2629,8 @@ elf_fake_sections (bfd *abfd, asection *asect, void *failedptrarg) } } } + if ((asect->flags & (SEC_GROUP | SEC_EXCLUDE)) == SEC_EXCLUDE) + this_hdr->sh_flags |= SHF_EXCLUDE; /* Check for processor-specific section types. */ sh_type = this_hdr->sh_type; diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index c419edd..ff0208e 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -375,9 +375,6 @@ i370_elf_section_from_shdr (bfd *abfd, newsect = hdr->bfd_section; flags = bfd_get_section_flags (abfd, newsect); - if (hdr->sh_flags & SHF_EXCLUDE) - flags |= SEC_EXCLUDE; - if (hdr->sh_type == SHT_ORDERED) flags |= SEC_SORT_ENTRIES; diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 28274c4..1580599 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -1994,9 +1994,6 @@ ppc_elf_fake_sections (bfd *abfd ATTRIBUTE_UNUSED, Elf_Internal_Shdr *shdr, asection *asect) { - if ((asect->flags & (SEC_GROUP | SEC_EXCLUDE)) == SEC_EXCLUDE) - shdr->sh_flags |= SHF_EXCLUDE; - if ((asect->flags & SEC_SORT_ENTRIES) != 0) shdr->sh_type = SHT_ORDERED; |