+2010-06-29 Alan Modra <amodra@gmail.com>
+
+ PR binutils/3166
+ * objcopy.c (is_strip_section): Revert 2006-09-05.
+ (setup_section): Make SHT_GROUP section nobits.
+
2010-06-29 Alan Modra <amodra@gmail.com>
* configure: Regenerate.
asymbol *gsym;
const char *gname;
- /* PR binutils/3166
- Group sections look like debugging sections but they are not.
- (They have a non-zero size but they are not ALLOCated). */
- if (strip_symbols == STRIP_NONDEBUG)
- return TRUE;
-
/* PR binutils/3181
If we are going to strip the group signature symbol, then
strip the group section too. */
if (p != NULL && p->set_flags)
flags = p->flags | (flags & (SEC_HAS_CONTENTS | SEC_RELOC));
else if (strip_symbols == STRIP_NONDEBUG
- && (flags & SEC_ALLOC) != 0
- && (ibfd->xvec->flavour != bfd_target_elf_flavour
- || elf_section_type (isection) != SHT_NOTE))
+ && (flags & (SEC_ALLOC | SEC_GROUP)) != 0
+ && !(ibfd->xvec->flavour == bfd_target_elf_flavour
+ && elf_section_type (isection) == SHT_NOTE))
{
- flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD);
+ flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD | SEC_GROUP);
if (obfd->xvec->flavour == bfd_target_elf_flavour)
{
make_nobits = TRUE;
elf.c:copy_private_bfd_data that section flags have not
changed between input and output sections. This hack
prevents wholesale rewriting of the program headers. */
- isection->flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD);
+ isection->flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD | SEC_GROUP);
}
}