diff -rupN --no-dereference binutils-2.42/bfd/elf.c binutils-2.42-new/bfd/elf.c --- binutils-2.42/bfd/elf.c 2024-01-29 01:00:00.000000000 +0100 +++ binutils-2.42-new/bfd/elf.c 2024-02-18 23:54:45.728777026 +0100 @@ -827,7 +827,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd } } - if (elf_group_name (newsect) == NULL) + if (elf_group_name (newsect) == NULL + /* OS specific sections might be in a group (eg ARM's ARM_EXIDX section) + but they will not have been added to the group because they do not + have contents that the ELF code in the BFD library knows how to + process. This is OK though - we rely upon the target backends to + handle these sections for us. */ + && hdr->sh_type < SHT_LOOS) { /* xgettext:c-format */ _bfd_error_handler (_("%pB: no group info for section '%pA'"), @@ -935,7 +941,8 @@ _bfd_elf_setup_sections (bfd *abfd) else if (idx->shdr->bfd_section) elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section; else if (idx->shdr->sh_type != SHT_RELA - && idx->shdr->sh_type != SHT_REL) + && idx->shdr->sh_type != SHT_REL + && idx->shdr->sh_type < SHT_LOOS) { /* There are some unknown sections in the group. */ _bfd_error_handler