continue;
/* Keep debug and special sections like .comment when they are
- not part of a group. */
+ not part of a group, or when we have single-member groups. */
for (isec = ibfd->sections; isec != NULL; isec = isec->next)
- if (elf_next_in_group (isec) == NULL
+ if ((elf_next_in_group (isec) == NULL
+ || elf_next_in_group (isec) == isec)
&& ((isec->flags & SEC_DEBUGGING) != 0
|| (isec->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0))
isec->gc_mark = 1;