dyanmic linking.
* scripttempl/v850.sc: Add KEEP attribute to .init,
.fini, .dtors and .ctors. Add .data and .text
wildcards to support section garbage collection.
elf. Change TEXT_START_ADDR to 0x8000. Define
OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
OTHER_BSS_END_SYMBOLS.
* scripttempl/elf.sc: Modify to use
OTHER_BSS_END_SYMBOLS.
* scripttempl/elfarm.sc: Remove file.
* emulparams/armelf.sh: Define TEMPLATE_NAME to armelf.
* scripttempl/elfarm.sc: Include .glue_7t and .glue7
sections.
* emultempl/armelf.em: New file.
* ldlang.c (wild_sort): Correct order of sort.
* scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
.dtors.
* scripttempl/elfd10v.sc: Likewise.
start-sanitize-d30v
* scripttempl/elfd30v.sc: Likewise.
end-sanitize-d30v
* scripttempl/elfppc.sc: Likewise.
* scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
section to avoid copying certain data on fork. The linker used to
include this between __data_start__ and __data_end__, but that
breaks building the cygwin32 dll. The fix is to rename the
section ".data_cygwin_nocopy" and explictly include it after
__data_end__.
* scripttempl/elfppc.sc: Correct .rela.sdata entries.
* scripttempl/elfppc.sc: Put the PLT between the small and large
BSS segments.
* emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
program base of 0x02000000 is recommended...' because otherwise
shared libraries are less efficient. We use 0x01800000 because
otherwise it's impossible to branch to location 0, for instance if
you have an undefined weak symbol.
* scripttempl/elf.sc: Set ENTRY based on target. Permit
TEXT_DYNAMIC to control .dynamic segment. Permit
SHLIB_TEXT_START_ADDR to set start of shared object. Support
INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put
.gnu.linkonce.t* in .text when relocating. Support
OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as
DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
* emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
(DATA_ADDR): Don't set.
(INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
(OTHER_TEXT_SECTIONS): Set.
(OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
(MACHINE): Set to empty string.
* emulparams/elf32l4300.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32elmip.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise. Also:
(TEXT_DYNAMIC): Set.
* emulparams/elf32lmips.sh: Likewise.
* Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
elfmips.sc.
(eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
* Makefile.in (ALL_EMULATIONS): Add ealphabsd.o.
(ealphabsd.c): New rule.
* configure.host (alpha-*-bsd): New target.
* configure.tgt (alpha-*-bsd): New target.
* emulparams/alphabsd.sh: New file for *BSD/alpha.
* scripttempl/alphabsd.sc: New file for *BSD/alpha.
* scripttempl/tic80coff.sc: New (dummy) file for TIc80.
* Makefile.in (etic80coff.c): Add target and rule to build it.
* configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.