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.
This commit is contained in:
H.J. Lu 2018-05-21 19:25:19 -07:00
parent 75d74ccace
commit bae363f114
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2018-05-21 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/23199
* elf.c (setup_group): Mark section in a section group with
SHF_GROUP.
2018-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/23194

View File

@ -711,7 +711,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)
{