Fix seg-fault linking corrupt binary.
PR ld/20912 * emultempl/elf32.em (_place_orphan): Test for ELF format of the orphan before looking for the SHF_EXCLUDE flag.
This commit is contained in:
parent
08698b7b46
commit
68c638d6e6
|
@ -1,3 +1,9 @@
|
||||||
|
2016-12-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR ld/20912
|
||||||
|
* emultempl/elf32.em (_place_orphan): Test for ELF format of the
|
||||||
|
orphan before looking for the SHF_EXCLUDE flag.
|
||||||
|
|
||||||
2016-12-02 Josh Conner <joshconner@google.com>
|
2016-12-02 Josh Conner <joshconner@google.com>
|
||||||
|
|
||||||
* Makefile.am: Add dependency information for earmelf_fuchsia.c.
|
* Makefile.am: Add dependency information for earmelf_fuchsia.c.
|
||||||
|
|
|
@ -2062,9 +2062,9 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
|
||||||
if (os->bfd_section != NULL
|
if (os->bfd_section != NULL
|
||||||
&& (os->bfd_section->flags == 0
|
&& (os->bfd_section->flags == 0
|
||||||
|| ((!bfd_link_relocatable (&link_info)
|
|| ((!bfd_link_relocatable (&link_info)
|
||||||
|| (((elf_section_flags (s)
|
|| (iself && (((elf_section_flags (s)
|
||||||
^ elf_section_flags (os->bfd_section))
|
^ elf_section_flags (os->bfd_section))
|
||||||
& SHF_EXCLUDE) == 0))
|
& SHF_EXCLUDE) == 0)))
|
||||||
&& ((s->flags ^ os->bfd_section->flags)
|
&& ((s->flags ^ os->bfd_section->flags)
|
||||||
& (SEC_LOAD | SEC_ALLOC)) == 0
|
& (SEC_LOAD | SEC_ALLOC)) == 0
|
||||||
&& _bfd_elf_match_sections_by_type (link_info.output_bfd,
|
&& _bfd_elf_match_sections_by_type (link_info.output_bfd,
|
||||||
|
|
Loading…
Reference in New Issue