Add SORT_NONE to .init and .fini in scripts
authorAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2019 04:28:35 +0000 (14:58 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2019 11:49:20 +0000 (22:19 +1030)
commit2d3181c7c466d247d274ca6dbed6c598ceaa6163
tree7c24315b2d4574df7a54e28ba81a28f91020a02f
parentcc00a5d100973549bf5e4840937529633f4de1fa
Add SORT_NONE to .init and .fini in scripts

The special case for .init and .fini in update_wild_statements is
ineffective for .init or .fini wildcards inside other output sections.
The special case needs to be on the wildcard, not the output section.
This patch is belt and braces, both fixing update_wild_statements and
the scripts.

* scripttempl/alpha.sc, * scripttempl/armbpabi.sc,
* scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc,
* scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc,
* scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc,
* scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc,
* scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc,
* scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc,
* scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc,
* scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc,
* scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc,
* scripttempl/ft32.sc, * scripttempl/i386beos.sc,
* scripttempl/iq2000.sc, * scripttempl/mcorepe.sc,
* scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc,
* scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc,
* scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc,
* scripttempl/v850.sc, * scripttempl/v850_rh850.sc,
* scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and
SORT_NONE to .init and .fini wildcards.
* scripttempl/elf32xc16x.sc,
* scripttempl/elf32xc16xl.sc,
* scripttempl/elf32xc16xs.sc: Add .fini wildcard.
* scripttempl/elf_chaos.sc: Add .init output section.
* scripttempl/elfd30v.sc: Remove duplicate .init.
* scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc,
* scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove
duplicate .init, and add .fini wildcard.
* scripttempl/ppcpe.sc (INIT, FINI): Delete.
* ldlang.c (update_wild_statements): Special case .init and
.fini in the wildcard, not the output section.
38 files changed:
ld/ChangeLog
ld/ldlang.c
ld/scripttempl/alpha.sc
ld/scripttempl/armbpabi.sc
ld/scripttempl/crisaout.sc
ld/scripttempl/elf32cr16.sc
ld/scripttempl/elf32crx.sc
ld/scripttempl/elf32xc16x.sc
ld/scripttempl/elf32xc16xl.sc
ld/scripttempl/elf32xc16xs.sc
ld/scripttempl/elf64hppa.sc
ld/scripttempl/elf_chaos.sc
ld/scripttempl/elfarc.sc
ld/scripttempl/elfarcv2.sc
ld/scripttempl/elfd30v.sc
ld/scripttempl/elfm68hc11.sc
ld/scripttempl/elfm68hc12.sc
ld/scripttempl/elfm9s12z.sc
ld/scripttempl/elfmicroblaze.sc
ld/scripttempl/elfxgate.sc
ld/scripttempl/elfxtensa.sc
ld/scripttempl/epiphany_4x4.sc
ld/scripttempl/ft32.sc
ld/scripttempl/i386beos.sc
ld/scripttempl/iq2000.sc
ld/scripttempl/mcorepe.sc
ld/scripttempl/mep.sc
ld/scripttempl/mips.sc
ld/scripttempl/moxie.sc
ld/scripttempl/pe.sc
ld/scripttempl/pep.sc
ld/scripttempl/ppcpe.sc
ld/scripttempl/tic4xcoff.sc
ld/scripttempl/tic80coff.sc
ld/scripttempl/v850.sc
ld/scripttempl/v850_rh850.sc
ld/scripttempl/visium.sc
ld/scripttempl/xstormy16.sc