aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl/elf32.em
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emultempl/elf32.em')
-rw-r--r--ld/emultempl/elf32.em2
1 files changed, 2 insertions, 0 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index d2551b6f2c..8cdcc6c7f9 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -2150,6 +2150,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
one of them has SHF_EXCLUDE. Don't merge 2 sections with
different sh_info. */
if (os->bfd_section != NULL
+ /* PR 21884: Don't merge non-ELF sections. */
+ && bfd_get_flavour (os->bfd_section->owner) == bfd_target_elf_flavour
&& (elf_section_data (os->bfd_section)->this_hdr.sh_info
== elf_section_data (s)->this_hdr.sh_info)
&& (os->bfd_section->flags == 0