* ldmain.c (main): Always initialize PE info in link_info.
* lexsup.c (OPTION_BASE_FILE): New option.
(parse_args): Handle new option.
* emulparams/armpe.sh: Output pei.
* emultempl/i386pe.em: Add newline to end.
* scripttempl/armpe.sc: Change output and quote the $s.
* scripttempl/i386pe.sc: Change output and quote the $s.
* emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start". Align at end of each section to 0x200. Start .text section 0x1000
later. Add _etext, _edata, _end symbols.
(ei386nw.c, eppcnw.c): New targets.
* config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
scripttmpl/nw.sc: New files, for i386 and powerpc netware.
* configure.in: Changed netware ld_target name to be {i386,ppc}-nw
instead of {i386,ppc}-elf.
* configure.in (sparc*-*-netware): Removed. There is no such
thing anymore.
* scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
0, and to only be marked as NOLOAD if relocating.
* scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
* scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
* scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
* scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
* scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
* scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
* scripttempl/sparclynx.sc: Likewise.
Add a new script operator, PROVIDE, to define a symbol only if it
is needed.
* ldgram.y (PROVIDE): New token.
(assignment): Accept PROVIDE.
* ldlex.l (PROVIDE): New token.
* ldexp.h (node_type): Add etree_provide to node_class enum.
(exp_provide): Declare.
* ldexp.c (exp_fold_tree): Handle etree_provide.
(exp_provide): New function.
(exp_print_tree): Handle etree_provide.
* ld.texinfo: Document PROVIDE.
* aout.sc: Don't define __DYNAMIC here. Add new sections used by
shared library support code.
* emultempl/sunos.em: New file.
* emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
* Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
* ld.h (ld_config_type): Add field dynamic_link.
* ldmain.c (main): Initialize config.dynamic_link to false. Warn
on attempts to use -r with -relax, -call_shared or -s.
* lexsup.c (longopts): Separate OPTION_CALL_SHARED from
OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
accordingly. Add "dy" and "non_shared" options. Change "Qy" to
OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
OPTION_NON_SHARED by setting dynamic_link field accordingly.
Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
-r and -Ur.
* ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
opening a file with a .so extension first.
* emultempl/elf32.em: New file.
* emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
(NONPAGED_TEXT_START_ADDR): Likewise.
(TEMPLATE_NAME): Define as elf32.
(DATA_PLT): Define.
* emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
* scripttempl/elf.sc: Add placement for new dynamic sections.
Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
outside of any section. Don't use ALIGN(8); just let one section
VMA follow another. Put .dynbss in .bss. Don't mention debugging
sections; they'll be handled correctly anyhow.
* Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
* Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
Lynx-specific script templates.
* configure.in (sparclite*-*-coff): Use coff-sparc.
* emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
* emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
(ENTRY): Set to __main.
* scripttempl/i386lynx.sc: New file, script for I386 Lynx.
* scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
* scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
De Muyter).
* configure.in (m68k-motorola-sysv*) New target.
* config/delta68.mt: New file.
* emulparams/delta68.sh: New file.
* scripttempl/delta68.sc: New file.
* Makefile.in (ALL_EMULATIONS): Added em_delta68.o.
(em_delta68.c): New target.
* emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
ELF emulation is "elf32-hppa" not "elf-big".
(hppaosf_before_parse): Remove unneeded processing of environment variables.
* scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
.text segment of output file.
* emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.