diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-05-21 19:25:19 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-05-21 19:25:33 -0700 |
commit | bae363f1146378207e1dffe5f23845644a1d0b7a (patch) | |
tree | 4a32506a3801bae0dd35fceb32fe51300d95b753 /bfd | |
parent | 75d74ccace05f6166a45dbaa352abf753891d3be (diff) | |
download | gdb-bae363f1146378207e1dffe5f23845644a1d0b7a.zip gdb-bae363f1146378207e1dffe5f23845644a1d0b7a.tar.gz gdb-bae363f1146378207e1dffe5f23845644a1d0b7a.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf.c | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bab543b..7233851 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 @@ -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) { |