From: H.J. Lu Date: Tue, 22 May 2018 02:25:19 +0000 (-0700) Subject: Mark section in a section group with SHF_GROUP X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e2bcabadb8bc02d971b30644d91a70ec4c4b825d;p=thirdparty%2Fbinutils-gdb.git Mark section in a section group with SHF_GROUP All sections in a section group should be marked with SHF_GROUP. But some tools generate broken objects without SHF_GROUP. This patch fixes them up for objcopy and strip. PR binutils/23199 * elf.c (setup_group): Mark section in a section group with SHF_GROUP. (cherry picked from commit bae363f1146378207e1dffe5f23845644a1d0b7a) --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c776c02eaf6..e7193e72d08 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2018-05-22 H.J. Lu + + PR binutils/23199 + * elf.c (setup_group): Mark section in a section group with + SHF_GROUP. + 2018-05-21 H.J. Lu PR ld/23194 diff --git a/bfd/elf.c b/bfd/elf.c index f657ec45670..3f766404ab3 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -708,7 +708,15 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect) break; } if (idx < shnum) - dest->shdr = elf_elfsections (abfd)[idx]; + { + dest->shdr = elf_elfsections (abfd)[idx]; + /* PR binutils/23199: All sections in a + section group should be marked with + SHF_GROUP. But some tools generate + broken objects without SHF_GROUP. Fix + them up here. */ + dest->shdr->sh_flags |= SHF_GROUP; + } if (idx >= shnum || dest->shdr->sh_type == SHT_GROUP) {