mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-12 02:17:45 +08:00
* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
(bfd_section_from_shdr): Likewise. Set section name of group sections from signature. (group_signature): Split out from setup_group. Ensure symbol table is available. (bfd_elf_discard_group): New function. (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on .gnu.linkonce* sections if they are members of a group. (set_group_contents): Set GRP_COMDAT flag. * section.c (bfd_discard_group): New function. * bfd-in.h (bfd_elf_discard_group): Declare. * bfd-in2.h: Regenerate. * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field. (elf_linkonce_p): Define.
This commit is contained in:
@ -1375,3 +1375,24 @@ _bfd_strip_section_from_output (info, s)
|
||||
|
||||
s->flags |= SEC_EXCLUDE;
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_discard_group
|
||||
|
||||
SYNOPSIS
|
||||
void bfd_discard_group (bfd *abfd, asection *group);
|
||||
|
||||
DESCRIPTION
|
||||
Remove all members of @var{group} from the output.
|
||||
*/
|
||||
|
||||
void
|
||||
bfd_discard_group (abfd, group)
|
||||
bfd *abfd;
|
||||
asection *group;
|
||||
{
|
||||
if ((group->flags & SEC_GROUP) != 0
|
||||
&& abfd->xvec->flavour == bfd_target_elf_flavour)
|
||||
bfd_elf_discard_group (abfd, group);
|
||||
}
|
||||
|
Reference in New Issue
Block a user