binutils-special-sections-in-groups.patch 1.1 KB

12345678910111213141516171819202122232425262728
  1. --- binutils.orig/bfd/elf.c 2018-10-19 11:42:10.107277490 +0100
  2. +++ binutils-2.31.1/bfd/elf.c 2018-10-19 11:44:33.607105801 +0100
  3. @@ -830,7 +830,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd
  4. }
  5. }
  6. - if (elf_group_name (newsect) == NULL)
  7. + if (elf_group_name (newsect) == NULL
  8. + /* OS specific sections might be in a group (eg ARM's ARM_EXIDX section)
  9. + but they will not have been added to the group because they do not
  10. + have contents that the ELF code in the BFD library knows how to
  11. + process. This is OK though - we rely upon the target backends to
  12. + handle these sections for us. */
  13. + && hdr->sh_type < SHT_LOOS)
  14. {
  15. /* xgettext:c-format */
  16. _bfd_error_handler (_("%pB: no group info for section '%pA'"),
  17. @@ -936,7 +942,8 @@ _bfd_elf_setup_sections (bfd *abfd)
  18. else if (idx->shdr->bfd_section)
  19. elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section;
  20. else if (idx->shdr->sh_type != SHT_RELA
  21. - && idx->shdr->sh_type != SHT_REL)
  22. + && idx->shdr->sh_type != SHT_REL
  23. + && idx->shdr->sh_type < SHT_LOOS)
  24. {
  25. /* There are some unknown sections in the group. */
  26. _bfd_error_handler