Re: Orphan output section with multiple input sections
authorAlan Modra <amodra@gmail.com>
Thu, 29 Oct 2015 05:46:22 +0000 (16:16 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 29 Oct 2015 09:12:50 +0000 (19:42 +1030)
commit936384714fa8b0f7ca8cc3b5637394461bc998c8
tree2dbee0b6a2d5c5b00506e43e5e24c7090f284345
parentd85063237a6a579905f9a3ead5749fb4e931dec3
Re: Orphan output section with multiple input sections

The last patch missed handling the case where the ideal place to put
an orphan was after a non-existent output section statement, as can
happen when not using the builtin linker scripts.  This patch uses the
updated flags for that case too, and extends the support to mmo and pe.

PR ld/19162
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Pass
updated flags to lang_output_section_find_by_flags.
* emultempl/mmo.em (mmo_place_orphan): Merge flags for any
other input sections that might match a new output section to
decide placement.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* ldlang.c (lang_output_section_find_by_flags): Add sec_flags param.
* ldlang.h (lang_output_section_find_by_flags): Update prototype.
ld/ChangeLog
ld/emultempl/elf32.em
ld/emultempl/mmo.em
ld/emultempl/pe.em
ld/emultempl/pep.em
ld/ldlang.c
ld/ldlang.h