From: Alan Modra Date: Wed, 17 Aug 2022 07:44:16 +0000 (+0930) Subject: bfd_elf_set_group_contents assertion X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7744e3278b9f24d8a1a2dd74f75986bd9060724c;p=binutils-gdb.git bfd_elf_set_group_contents assertion objcopy of broken SHT_GROUP sections shouldn't write garbage. * elf.c (bfd_elf_set_group_contents): If number of entries is unexpected, fill out section with zeros. --- diff --git a/bfd/elf.c b/bfd/elf.c index 2e01d7e9a44..35aa45e3b90 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -3614,7 +3614,12 @@ bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) } loc -= 4; - BFD_ASSERT (loc == sec->contents); + if (loc != sec->contents) + { + BFD_ASSERT (0); + memset (sec->contents + 4, 0, loc - sec->contents); + loc = sec->contents; + } H_PUT_32 (abfd, sec->flags & SEC_LINK_ONCE ? GRP_COMDAT : 0, loc); }