summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld/emulparams
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1996-01-08 11:10:27 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1996-01-08 11:10:27 +0000
commit8b46c09925a80623c289e346c12921bc09fd1678 (patch)
tree01507d0da339cc7e5e6f5d16dfa625f94910b091 /gnu/usr.bin/binutils/ld/emulparams
parent5d56227f9458a53138642c1b4488b4a30f85f334 (diff)
Initial GNU binutils 2.6 import
Diffstat (limited to 'gnu/usr.bin/binutils/ld/emulparams')
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/README2
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/a29k.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/aixppc.sh4
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/aixrs6.sh4
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/alpha.sh3
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armaoutb.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armaoutl.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armcoff.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/armpe.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/coff_sparc.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/delta68.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/ebmon29k.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh25
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh26
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh25
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh26
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32lppc.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/elf_i386.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/gld960.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/gld960coff.sh19
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/go32.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8300.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8300h.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8500.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8500b.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8500c.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8500m.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/h8500s.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/hp300bsd.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/hp3hpux.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/hppaelf.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386aout.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386bsd.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386coff.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386go32.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386linux.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386lynx.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386mach.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386moss.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386msdos.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386nbsd.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386nw.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/i386pe.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/lnk960.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68k4knbsd.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68kaout.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68kcoff.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68kelf.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68klynx.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m68knbsd.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/m88kbcs.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/mipsbig.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/mipsbsd.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/mipsidt.sh10
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/mipsidtl.sh10
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/mipslit.sh6
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/news.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/ns32knbsd.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/pc532machaout.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/ppcnw.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh4
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/riscix.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sa29200.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sh.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/shl.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sparclynx.sh9
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sparcnbsd.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/st2000.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sun3.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/sun4.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/vanilla.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/vax.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/vsta.sh8
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/w65.sh5
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/z8001.sh7
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/z8002.sh6
79 files changed, 589 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils/ld/emulparams/README b/gnu/usr.bin/binutils/ld/emulparams/README
new file mode 100644
index 00000000000..b3d6d26c4e0
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/README
@@ -0,0 +1,2 @@
+The files in this directory are read by genscripts.sh as shell commands.
+They set parameters for the emulations.
diff --git a/gnu/usr.bin/binutils/ld/emulparams/a29k.sh b/gnu/usr.bin/binutils/ld/emulparams/a29k.sh
new file mode 100644
index 00000000000..89c8e85c1c8
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/a29k.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=a29k
+OUTPUT_FORMAT="coff-a29k-big"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=a29k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/aixppc.sh b/gnu/usr.bin/binutils/ld/emulparams/aixppc.sh
new file mode 100644
index 00000000000..f92e686dd6d
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/aixppc.sh
@@ -0,0 +1,4 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+ARCH=powerpc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/aixrs6.sh b/gnu/usr.bin/binutils/ld/emulparams/aixrs6.sh
new file mode 100644
index 00000000000..733c3f7ab0f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/aixrs6.sh
@@ -0,0 +1,4 @@
+TEMPLATE_NAME=aix
+SCRIPT_NAME=aix
+OUTPUT_FORMAT="aixcoff-rs6000"
+ARCH=rs6000
diff --git a/gnu/usr.bin/binutils/ld/emulparams/alpha.sh b/gnu/usr.bin/binutils/ld/emulparams/alpha.sh
new file mode 100644
index 00000000000..141923f7170
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/alpha.sh
@@ -0,0 +1,3 @@
+SCRIPT_NAME=alpha
+OUTPUT_FORMAT="ecoff-littlealpha"
+ARCH=alpha
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armaoutb.sh b/gnu/usr.bin/binutils/ld/emulparams/armaoutb.sh
new file mode 100644
index 00000000000..59ab6f14f60
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/armaoutb.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-big"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+NONPAGED_TEXT_START_ADDRESS=0x8000
+TARGET_PAGE_SIZE=32768
+ARCH=arm
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armaoutl.sh b/gnu/usr.bin/binutils/ld/emulparams/armaoutl.sh
new file mode 100644
index 00000000000..9501f33ec2a
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/armaoutl.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=armaout
+OUTPUT_FORMAT="a.out-arm-little"
+HEADER_START_ADDR=0x8000
+TEXT_START_ADDR=0x8000
+NONPAGED_TEXT_START_ADDRESS=0x8000
+TARGET_PAGE_SIZE=32768
+ARCH=arm
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh b/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh
new file mode 100644
index 00000000000..9ef6ac44698
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/armcoff.sh
@@ -0,0 +1,6 @@
+ARCH=arm
+SCRIPT_NAME=armcoff
+OUTPUT_FORMAT="coff-arm-little"
+LITTLE_OUTPUT_FORMAT="coff-arm-little"
+BIG_OUTPUT_FORMAT="coff-arm-big"
+#TEMPLATE_NAME=armcoff
diff --git a/gnu/usr.bin/binutils/ld/emulparams/armpe.sh b/gnu/usr.bin/binutils/ld/emulparams/armpe.sh
new file mode 100644
index 00000000000..22468050e54
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/armpe.sh
@@ -0,0 +1,6 @@
+ARCH=arm
+SCRIPT_NAME=pe
+OUTPUT_FORMAT="pei-arm-little"
+LITTLE_OUTPUT_FORMAT="pei-arm-little"
+BIG_OUTPUT_FORMAT="pei-arm-big"
+TEMPLATE_NAME=pe
diff --git a/gnu/usr.bin/binutils/ld/emulparams/coff_sparc.sh b/gnu/usr.bin/binutils/ld/emulparams/coff_sparc.sh
new file mode 100644
index 00000000000..0cf852a7b21
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/coff_sparc.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=sparccoff
+OUTPUT_FORMAT="coff-sparc"
+# following are dubious (borrowed from sparc lynx)
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+NONPAGED_TEXT_START_ADDR=0x1000
+ARCH=sparc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/delta68.sh b/gnu/usr.bin/binutils/ld/emulparams/delta68.sh
new file mode 100644
index 00000000000..640150612bd
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/delta68.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=delta68
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x2000
+PAGE_SIZE=0x1000000
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/ebmon29k.sh b/gnu/usr.bin/binutils/ld/emulparams/ebmon29k.sh
new file mode 100644
index 00000000000..fbc2bd1e464
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/ebmon29k.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=ebmon29k
+OUTPUT_FORMAT="coff-a29k-big"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=0x1000
+ARCH=a29k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh
new file mode 100644
index 00000000000..1397f38c181
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-sparc"
+TEXT_START_ADDR=0x10000
+MAXPAGESIZE=0x10000
+NONPAGED_TEXT_START_ADDR=0x10000
+ARCH=sparc
+TEMPLATE_NAME=elf32
+DATA_PLT=
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh
new file mode 100644
index 00000000000..b8755889d1f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32b4300.sh
@@ -0,0 +1,25 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+TEXT_START_ADDR=0xa001af20
+DATA_ADDR=.
+MAXPAGESIZE=0x40000
+OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_READWRITE_SECTIONS='
+ _gp = . + 0x8000;
+ .lit8 : { *(.lit8) }
+ .lit4 : { *(.lit4) }
+'
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+EXECUTABLE_SYMBOLS='_DYNAMIC_LINK = 0;'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
+ARCH=mips
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh
new file mode 100644
index 00000000000..470497d8fc6
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32bmip.sh
@@ -0,0 +1,26 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-bigmips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+NONPAGED_TEXT_START_ADDR=0x0400000
+OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_READWRITE_SECTIONS='
+ _gp = . + 0x8000;
+ .lit8 : { *(.lit8) }
+ .lit4 : { *(.lit4) }
+'
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+EXECUTABLE_SYMBOLS='_DYNAMIC_LINK = 0;'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
+ARCH=mips
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh
new file mode 100644
index 00000000000..aeac8a88efb
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32l4300.sh
@@ -0,0 +1,25 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlemips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+TEXT_START_ADDR=0xa001af20
+DATA_ADDR=.
+MAXPAGESIZE=0x40000
+OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_READWRITE_SECTIONS='
+ _gp = . + 0x8000;
+ .lit8 : { *(.lit8) }
+ .lit4 : { *(.lit4) }
+'
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+EXECUTABLE_SYMBOLS='_DYNAMIC_LINK = 0;'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
+ARCH=mips
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh
new file mode 100644
index 00000000000..bb91f350cce
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32lmip.sh
@@ -0,0 +1,26 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlemips"
+BIG_OUTPUT_FORMAT="elf32-bigmips"
+LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+NONPAGED_TEXT_START_ADDR=0x0400000
+OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
+OTHER_READWRITE_SECTIONS='
+ _gp = . + 0x8000;
+ .lit8 : { *(.lit8) }
+ .lit4 : { *(.lit4) }
+'
+TEXT_START_SYMBOLS='_ftext = . ;'
+DATA_START_SYMBOLS='_fdata = . ;'
+OTHER_BSS_SYMBOLS='_fbss = .;'
+EXECUTABLE_SYMBOLS='_DYNAMIC_LINK = 0;'
+OTHER_SECTIONS='
+ .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+ .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
+ARCH=mips
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+DYNAMIC_LINK=false
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32lppc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32lppc.sh
new file mode 100644
index 00000000000..50a34af9d5b
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32lppc.sh
@@ -0,0 +1,9 @@
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+SCRIPT_NAME=elfppc
+OUTPUT_FORMAT="elf32-powerpcle"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+NONPAGED_TEXT_START_ADDR=0x0400000
+ARCH=powerpc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh
new file mode 100644
index 00000000000..f2b44849fcb
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf32ppc.sh
@@ -0,0 +1,9 @@
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+SCRIPT_NAME=elfppc
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+NONPAGED_TEXT_START_ADDR=0x0400000
+ARCH=powerpc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh b/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh
new file mode 100644
index 00000000000..668809bdd50
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf64_sparc.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf64-sparc"
+TEXT_START_ADDR=0x100200
+MAXPAGESIZE=0x100000
+NONPAGED_TEXT_START_ADDR=0x100200
+ARCH=sparc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/elf_i386.sh b/gnu/usr.bin/binutils/ld/emulparams/elf_i386.sh
new file mode 100644
index 00000000000..b841d9cd189
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/elf_i386.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x08000000
+MAXPAGESIZE=0x1000
+NONPAGED_TEXT_START_ADDR=0x08000000
+ARCH=i386
+NOP=0x9090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/gnu/usr.bin/binutils/ld/emulparams/gld960.sh b/gnu/usr.bin/binutils/ld/emulparams/gld960.sh
new file mode 100644
index 00000000000..ef81a78a10e
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/gld960.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=??
+TARGET_PAGE_SIZE=??
+ARCH=i960
+TEMPLATE_NAME=gld960
+GLD_STYLE=1
diff --git a/gnu/usr.bin/binutils/ld/emulparams/gld960coff.sh b/gnu/usr.bin/binutils/ld/emulparams/gld960coff.sh
new file mode 100644
index 00000000000..78202208b4f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/gld960coff.sh
@@ -0,0 +1,19 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=??
+TARGET_PAGE_SIZE=??
+ARCH=i960
+TEMPLATE_NAME=gld960c
+GLD_STYLE=1
+COFF_CTORS='
+ ___CTOR_LIST__ = .;
+ LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ ___CTOR_END__ = .;
+ ___DTOR_LIST__ = .;
+ LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ ___DTOR_END__ = .;
+'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/go32.sh b/gnu/usr.bin/binutils/ld/emulparams/go32.sh
new file mode 100644
index 00000000000..d13357fda7a
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/go32.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=go32coff
+OUTPUT_FORMAT="coff-go32"
+TEXT_START_ADDR=0x10a8
+TARGET_PAGE_SIZE=0x1000
+SEGMENT_SIZE=0x1000
+NONPAGED_TEXT_START_ADDR=0x0
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8300.sh b/gnu/usr.bin/binutils/ld/emulparams/h8300.sh
new file mode 100644
index 00000000000..49eb3c453db
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8300.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8300h.sh b/gnu/usr.bin/binutils/ld/emulparams/h8300h.sh
new file mode 100644
index 00000000000..3ab794e1107
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8300h.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8300h
+OUTPUT_FORMAT="coff-h8300"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8300
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8500.sh b/gnu/usr.bin/binutils/ld/emulparams/h8500.sh
new file mode 100644
index 00000000000..6f4ca802862
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8500.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8500b.sh b/gnu/usr.bin/binutils/ld/emulparams/h8500b.sh
new file mode 100644
index 00000000000..d2d3fee2171
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8500b.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500b
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8500c.sh b/gnu/usr.bin/binutils/ld/emulparams/h8500c.sh
new file mode 100644
index 00000000000..240a06579ea
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8500c.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500c
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8500m.sh b/gnu/usr.bin/binutils/ld/emulparams/h8500m.sh
new file mode 100644
index 00000000000..cd9f7b66cf5
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8500m.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500m
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
diff --git a/gnu/usr.bin/binutils/ld/emulparams/h8500s.sh b/gnu/usr.bin/binutils/ld/emulparams/h8500s.sh
new file mode 100644
index 00000000000..b9e294aac0d
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/h8500s.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=h8500s
+OUTPUT_FORMAT="coff-h8500"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=h8500
diff --git a/gnu/usr.bin/binutils/ld/emulparams/hp300bsd.sh b/gnu/usr.bin/binutils/ld/emulparams/hp300bsd.sh
new file mode 100644
index 00000000000..8f5c50b3ee5
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/hp300bsd.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-hp300bsd"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=4096
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/hp3hpux.sh b/gnu/usr.bin/binutils/ld/emulparams/hp3hpux.sh
new file mode 100644
index 00000000000..b7badd8b806
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/hp3hpux.sh
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-hp300hpux"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=4096
+ARCH=m68k
+STACKZERO="___stack_zero = 0x2000; __DYNAMIC = 0;"
+# This is needed for HPUX 9.0; it is unnecessary but harmless for 8.0.
+SHLIB_PATH="___dld_shlib_path = 0;"
diff --git a/gnu/usr.bin/binutils/ld/emulparams/hppaelf.sh b/gnu/usr.bin/binutils/ld/emulparams/hppaelf.sh
new file mode 100644
index 00000000000..47b89ea92aa
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/hppaelf.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=hppaelf
+OUTPUT_FORMAT="elf32-hppa"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=4096
+ARCH=hppa
+START="$START$"
+TEMPLATE_NAME=hppaelf
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386aout.sh b/gnu/usr.bin/binutils/ld/emulparams/i386aout.sh
new file mode 100644
index 00000000000..dc9e5546145
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386aout.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+NONPAGED_TEXT_START_ADDR=0x1000
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386bsd.sh b/gnu/usr.bin/binutils/ld/emulparams/i386bsd.sh
new file mode 100644
index 00000000000..e0c0e2fab6c
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386bsd.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386-bsd"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+NONPAGED_TEXT_START_ADDR=0x1000
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386coff.sh b/gnu/usr.bin/binutils/ld/emulparams/i386coff.sh
new file mode 100644
index 00000000000..3417b7d3e99
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386coff.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=i386coff
+OUTPUT_FORMAT="coff-i386"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh b/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh
new file mode 100644
index 00000000000..52649a1e5d9
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386go32.sh
@@ -0,0 +1,8 @@
+SCRIPT_NAME=i386go32
+OUTPUT_FORMAT="coff-i386"
+TEXT_START_ADDR=0x10a8
+TARGET_PAGE_SIZE=0x1000
+SEGMENT_SIZE=0x1000
+NONPAGED_TEXT_START_ADDR=0x0
+ARCH=i386
+
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386linux.sh b/gnu/usr.bin/binutils/ld/emulparams/i386linux.sh
new file mode 100644
index 00000000000..a416422d92f
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386linux.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386-linux"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0x1020
+NONPAGED_TEXT_START_ADDR=0
+ARCH=i386
+TEMPLATE_NAME=linux
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386lynx.sh b/gnu/usr.bin/binutils/ld/emulparams/i386lynx.sh
new file mode 100644
index 00000000000..988c1751b08
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386lynx.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=i386lynx
+OUTPUT_FORMAT="coff-i386-lynx"
+# This is what LynxOS /lib/init1.o wants.
+ENTRY=_main
+# following are dubious
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+NONPAGED_TEXT_START_ADDR=0x1000
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386mach.sh b/gnu/usr.bin/binutils/ld/emulparams/i386mach.sh
new file mode 100644
index 00000000000..b7cb2764f59
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386mach.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-mach3"
+TEXT_START_ADDR=0x10020
+NONPAGED_TEXT_START_ADDR=0x10000
+SEGMENT_SIZE=0x1000
+PAD_TEXT=t
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386moss.sh b/gnu/usr.bin/binutils/ld/emulparams/i386moss.sh
new file mode 100644
index 00000000000..dd214cfacd0
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386moss.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x00002000
+MAXPAGESIZE=0x1000
+NONPAGED_TEXT_START_ADDR=0x00002000
+ARCH=i386
+NOP=0x9090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386msdos.sh b/gnu/usr.bin/binutils/ld/emulparams/i386msdos.sh
new file mode 100644
index 00000000000..9311fa1fe5a
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386msdos.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=i386msdos
+OUTPUT_FORMAT="msdos"
+TEXT_START_ADDR=0x0
+NONPAGED_TEXT_START_ADDR=0x0
+SEGMENT_SIZE=0x10
+PAD_TEXT=t
+ARCH=i386
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386nbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/i386nbsd.sh
new file mode 100644
index 00000000000..a9e6a38303d
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386nbsd.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-i386-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=i386
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386nw.sh b/gnu/usr.bin/binutils/ld/emulparams/i386nw.sh
new file mode 100644
index 00000000000..e70ed678f3e
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386nw.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=nw
+OUTPUT_FORMAT="elf32-i386"
+TEXT_START_ADDR=0x08000000
+MAXPAGESIZE=0x1000
+NONPAGED_TEXT_START_ADDR=0x08000000
+ARCH=i386
+NOP=0x9090
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh b/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh
new file mode 100644
index 00000000000..1249064a420
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/i386pe.sh
@@ -0,0 +1,5 @@
+ARCH=i386
+SCRIPT_NAME=pe
+OUTPUT_FORMAT="pei-i386"
+TEMPLATE_NAME=pe
+
diff --git a/gnu/usr.bin/binutils/ld/emulparams/lnk960.sh b/gnu/usr.bin/binutils/ld/emulparams/lnk960.sh
new file mode 100644
index 00000000000..3cf3fc49769
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/lnk960.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=i960
+OUTPUT_FORMAT=""
+TEXT_START_ADDR=??
+TARGET_PAGE_SIZE=??
+ARCH=i960
+TEMPLATE_NAME=lnk960
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68k4knbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/m68k4knbsd.sh
new file mode 100644
index 00000000000..1bc24c0e9b9
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68k4knbsd.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+NONPAGED_TEXT_START_ADDR=0x1000
+OUTPUT_FORMAT="a.out-m68k4k-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=m68k
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68kaout.sh b/gnu/usr.bin/binutils/ld/emulparams/m68kaout.sh
new file mode 100644
index 00000000000..9bfaaf719a3
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68kaout.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-zero-big"
+TEXT_START_ADDR=0x2020
+TARGET_PAGE_SIZE=0x2000
+SEGMENT_SIZE=0x20000
+NONPAGED_TEXT_START_ADDR=0x2000
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68kcoff.sh b/gnu/usr.bin/binutils/ld/emulparams/m68kcoff.sh
new file mode 100644
index 00000000000..b417c0da45c
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68kcoff.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=m68kcoff
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x1000000
+TARGET_PAGE_SIZE=0x1000000
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68kelf.sh b/gnu/usr.bin/binutils/ld/emulparams/m68kelf.sh
new file mode 100644
index 00000000000..1044f31165b
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68kelf.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-m68k"
+TEXT_START_ADDR=0x80000000
+MAXPAGESIZE=0x2000
+NONPAGED_TEXT_START_ADDR=${TEXT_START_ADDR}
+ARCH=m68k
+NOP=0x4e75
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68klynx.sh b/gnu/usr.bin/binutils/ld/emulparams/m68klynx.sh
new file mode 100644
index 00000000000..b020febaaaa
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68klynx.sh
@@ -0,0 +1,8 @@
+SCRIPT_NAME=m68klynx
+OUTPUT_FORMAT="coff-m68k-lynx"
+# This is what LynxOS /lib/init1.o wants.
+ENTRY=__main
+# following are dubious
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=0x1000
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m68knbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/m68knbsd.sh
new file mode 100644
index 00000000000..a742807ddd9
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m68knbsd.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x2020
+NONPAGED_TEXT_START_ADDR=0x2000
+OUTPUT_FORMAT="a.out-m68k-netbsd"
+TARGET_PAGE_SIZE=0x2000
+ARCH=m68k
+EXECUTABLE_SYMBOLS='__DYNAMIC = 0;'
diff --git a/gnu/usr.bin/binutils/ld/emulparams/m88kbcs.sh b/gnu/usr.bin/binutils/ld/emulparams/m88kbcs.sh
new file mode 100644
index 00000000000..30b783a82f9
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/m88kbcs.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=m88kbcs
+OUTPUT_FORMAT="coff-m88kbcs"
+TEXT_START_ADDR=??
+TARGET_PAGE_SIZE=??
+ARCH=m88k
+TEMPLATE_NAME=m88kbcs
diff --git a/gnu/usr.bin/binutils/ld/emulparams/mipsbig.sh b/gnu/usr.bin/binutils/ld/emulparams/mipsbig.sh
new file mode 100644
index 00000000000..9fe29538f45
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/mipsbig.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-bigmips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
diff --git a/gnu/usr.bin/binutils/ld/emulparams/mipsbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/mipsbsd.sh
new file mode 100644
index 00000000000..e8fb35beca6
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/mipsbsd.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=mipsbsd
+OUTPUT_FORMAT="a.out-mips-little"
+BIG_OUTPUT_FORMAT="a.out-mips-big"
+LITTLE_OUTPUT_FORMAT="a.out-mips-little"
+TEXT_START_ADDR=0x1020
+TARGET_PAGE_SIZE=4096
+ARCH=mips
diff --git a/gnu/usr.bin/binutils/ld/emulparams/mipsidt.sh b/gnu/usr.bin/binutils/ld/emulparams/mipsidt.sh
new file mode 100644
index 00000000000..cb2d87d3322
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/mipsidt.sh
@@ -0,0 +1,10 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-bigmips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
+ENTRY=start
+TEXT_START_ADDR=0xa0012000
+DATA_ADDR=.
+TEMPLATE_NAME=mipsecoff
diff --git a/gnu/usr.bin/binutils/ld/emulparams/mipsidtl.sh b/gnu/usr.bin/binutils/ld/emulparams/mipsidtl.sh
new file mode 100644
index 00000000000..57e00261df8
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/mipsidtl.sh
@@ -0,0 +1,10 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-littlemips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
+ENTRY=start
+TEXT_START_ADDR=0xa0012000
+DATA_ADDR=.
+TEMPLATE_NAME=mipsecoff
diff --git a/gnu/usr.bin/binutils/ld/emulparams/mipslit.sh b/gnu/usr.bin/binutils/ld/emulparams/mipslit.sh
new file mode 100644
index 00000000000..acb234464be
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/mipslit.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=mips
+OUTPUT_FORMAT="ecoff-littlemips"
+BIG_OUTPUT_FORMAT="ecoff-bigmips"
+LITTLE_OUTPUT_FORMAT="ecoff-littlemips"
+TARGET_PAGE_SIZE=0x1000000
+ARCH=mips
diff --git a/gnu/usr.bin/binutils/ld/emulparams/news.sh b/gnu/usr.bin/binutils/ld/emulparams/news.sh
new file mode 100644
index 00000000000..310ddf9212e
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/news.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-newsos3"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=0x1000
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/ns32knbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/ns32knbsd.sh
new file mode 100644
index 00000000000..1c4fdf3449c
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/ns32knbsd.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-ns32k-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=ns32k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/pc532machaout.sh b/gnu/usr.bin/binutils/ld/emulparams/pc532machaout.sh
new file mode 100644
index 00000000000..07aa985b046
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/pc532machaout.sh
@@ -0,0 +1,7 @@
+EMULATION_NAME=pc532machaout
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-pc532-mach"
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR="0x10020"
+NONPAGED_TEXT_START_ADDR=0x10000
+ARCH=ns32k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/ppcnw.sh b/gnu/usr.bin/binutils/ld/emulparams/ppcnw.sh
new file mode 100644
index 00000000000..c3ead43675b
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/ppcnw.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=nw
+OUTPUT_FORMAT="elf32-powerpc"
+TEXT_START_ADDR=0x0400000
+DATA_ADDR=0x10000000
+MAXPAGESIZE=0x40000
+NONPAGED_TEXT_START_ADDR=0x0400000
+ARCH=powerpc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh b/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh
new file mode 100644
index 00000000000..655282d3fc3
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/ppcpe.sh
@@ -0,0 +1,4 @@
+ARCH=powerpc
+SCRIPT_NAME=ppcpe
+OUTPUT_FORMAT="pei-powerpcle"
+TEMPLATE_NAME=pe
diff --git a/gnu/usr.bin/binutils/ld/emulparams/riscix.sh b/gnu/usr.bin/binutils/ld/emulparams/riscix.sh
new file mode 100644
index 00000000000..e7f6d92f304
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/riscix.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=riscix
+OUTPUT_FORMAT="a.out-riscix"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=0x8000
+ARCH=arm
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sa29200.sh b/gnu/usr.bin/binutils/ld/emulparams/sa29200.sh
new file mode 100644
index 00000000000..8b52f92968d
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sa29200.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=sa29200
+OUTPUT_FORMAT="coff-a29k-big"
+TEXT_START_ADDR=0x40004000
+TARGET_PAGE_SIZE=0x1000
+ARCH=a29k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sh.sh b/gnu/usr.bin/binutils/ld/emulparams/sh.sh
new file mode 100644
index 00000000000..38844fb18ee
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sh.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=sh
+OUTPUT_FORMAT="coff-sh"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=sh
diff --git a/gnu/usr.bin/binutils/ld/emulparams/shl.sh b/gnu/usr.bin/binutils/ld/emulparams/shl.sh
new file mode 100644
index 00000000000..360aac8905c
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/shl.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=sh
+OUTPUT_FORMAT="coff-shl"
+TEXT_START_ADDR=0x8000
+TARGET_PAGE_SIZE=128
+ARCH=sh
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sparclynx.sh b/gnu/usr.bin/binutils/ld/emulparams/sparclynx.sh
new file mode 100644
index 00000000000..9aeb30b1334
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sparclynx.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=sparclynx
+OUTPUT_FORMAT="coff-sparc-lynx"
+# This is what LynxOS /lib/init1.o wants.
+ENTRY=__main
+# following are dubious
+TARGET_PAGE_SIZE=0x1000
+TEXT_START_ADDR=0
+NONPAGED_TEXT_START_ADDR=0x1000
+ARCH=sparc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sparcnbsd.sh b/gnu/usr.bin/binutils/ld/emulparams/sparcnbsd.sh
new file mode 100644
index 00000000000..f27daf3c342
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sparcnbsd.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-sparc-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=sparc
diff --git a/gnu/usr.bin/binutils/ld/emulparams/st2000.sh b/gnu/usr.bin/binutils/ld/emulparams/st2000.sh
new file mode 100644
index 00000000000..0498832823e
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/st2000.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=st2000
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=m68k
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sun3.sh b/gnu/usr.bin/binutils/ld/emulparams/sun3.sh
new file mode 100644
index 00000000000..db0f71f3abd
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sun3.sh
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sunos-big"
+TEXT_START_ADDR=0x2020
+TARGET_PAGE_SIZE=0x2000
+SEGMENT_SIZE=0x20000
+NONPAGED_TEXT_START_ADDR=0x2000
+ARCH=m68k
+TEMPLATE_NAME=sunos
diff --git a/gnu/usr.bin/binutils/ld/emulparams/sun4.sh b/gnu/usr.bin/binutils/ld/emulparams/sun4.sh
new file mode 100644
index 00000000000..e2b15260178
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/sun4.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-sunos-big"
+TEXT_START_ADDR=0x2020
+TARGET_PAGE_SIZE=0x2000
+NONPAGED_TEXT_START_ADDR=0x2000
+ARCH=sparc
+TEMPLATE_NAME=sunos
diff --git a/gnu/usr.bin/binutils/ld/emulparams/vanilla.sh b/gnu/usr.bin/binutils/ld/emulparams/vanilla.sh
new file mode 100644
index 00000000000..d8a3b72dbf9
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/vanilla.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=vanilla
+TEXT_START_ADDR=??
+TARGET_PAGE_SIZE=??
+ARCH=unknown
+TEMPLATE_NAME=vanilla
diff --git a/gnu/usr.bin/binutils/ld/emulparams/vax.sh b/gnu/usr.bin/binutils/ld/emulparams/vax.sh
new file mode 100644
index 00000000000..97854831041
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/vax.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out"
+TEXT_START_ADDR=0
+TARGET_PAGE_SIZE=1024
+ARCH=vax
diff --git a/gnu/usr.bin/binutils/ld/emulparams/vsta.sh b/gnu/usr.bin/binutils/ld/emulparams/vsta.sh
new file mode 100644
index 00000000000..cc6249bea43
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/vsta.sh
@@ -0,0 +1,8 @@
+SCRIPT_NAME=aout
+OUTPUT_FORMAT="a.out-i386"
+TEXT_START_ADDR=0x1020
+TARGET_PAGE_SIZE=0x1000
+SEGMENT_SIZE=0x400000
+NONPAGED_TEXT_START_ADDR=0x0
+ARCH=i386
+
diff --git a/gnu/usr.bin/binutils/ld/emulparams/w65.sh b/gnu/usr.bin/binutils/ld/emulparams/w65.sh
new file mode 100644
index 00000000000..6f02b2326f5
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/w65.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=w65
+OUTPUT_FORMAT="coff-w65"
+TEXT_START_ADDR=0x1000
+TARGET_PAGE_SIZE=64
+ARCH=w65
diff --git a/gnu/usr.bin/binutils/ld/emulparams/z8001.sh b/gnu/usr.bin/binutils/ld/emulparams/z8001.sh
new file mode 100644
index 00000000000..63645c342c2
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/z8001.sh
@@ -0,0 +1,7 @@
+SCRIPT_NAME=z8000
+OUTPUT_FORMAT="coff-z8k"
+OUTPUT_ARCH="z8001"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=z8k
+BIG=1
diff --git a/gnu/usr.bin/binutils/ld/emulparams/z8002.sh b/gnu/usr.bin/binutils/ld/emulparams/z8002.sh
new file mode 100644
index 00000000000..711b8f38727
--- /dev/null
+++ b/gnu/usr.bin/binutils/ld/emulparams/z8002.sh
@@ -0,0 +1,6 @@
+SCRIPT_NAME=z8000
+OUTPUT_FORMAT="coff-z8k"
+OUTPUT_ARCH="z8002"
+TEXT_START_ADDR=0x0
+TARGET_PAGE_SIZE=128
+ARCH=z8k