20 lines
1.0 KiB
Diff
20 lines
1.0 KiB
Diff
diff -rupN --no-dereference binutils-2.32/ld/emultempl/elf32.em binutils-2.32-new/ld/emultempl/elf32.em
|
|
--- binutils-2.32/ld/emultempl/elf32.em 2019-01-19 17:01:33.000000000 +0100
|
|
+++ binutils-2.32-new/ld/emultempl/elf32.em 2019-11-19 20:47:12.267649813 +0100
|
|
@@ -2029,10 +2029,12 @@ elf_orphan_compatible (asection *in, ase
|
|
if (elf_section_data (out)->this_hdr.sh_info
|
|
!= elf_section_data (in)->this_hdr.sh_info)
|
|
return FALSE;
|
|
- /* We can't merge two sections with differing SHF_EXCLUDE when doing
|
|
- a relocatable link. */
|
|
+ /* We can't merge with member of output section group nor merge two
|
|
+ sections with differing SHF_EXCLUDE when doing a relocatable link. */
|
|
if (bfd_link_relocatable (&link_info)
|
|
- && ((elf_section_flags (out) ^ elf_section_flags (in)) & SHF_EXCLUDE) != 0)
|
|
+ && (elf_next_in_group (out) != NULL
|
|
+ || ((elf_section_flags (out) ^ elf_section_flags (in))
|
|
+ & SHF_EXCLUDE) != 0))
|
|
return FALSE;
|
|
return _bfd_elf_match_sections_by_type (link_info.output_bfd, out,
|
|
in->owner, in);
|