diff --git a/ld/ChangeLog b/ld/ChangeLog
index 72c2a7ba047..754a575f0c4 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,30 @@
+Fri Oct 27 18:03:17 1995  Niklas Hallqvist  <niklas@appli.se>
+
+	*  Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
+	m68k4k arch.
+	(em68k4knbsd.c): New rule.
+
+	* configure.tgt: Added support for the NetBSD m68k4k arch.
+
+	* genscripts.sh, ldint.texinfo,
+	emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
+	gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
+	hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
+	i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
+	m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
+	pc532machaout,rce,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
+	st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
+	PAGE_SIZE to TARGET_PAGE_SIZE. 
+
+	* emulparams/m68knbsd.h: Ditto.
+	(TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
+	(EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
+	being.
+
+	* emulparams/m68k4knbsd.sh: New file.
+
+	* scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
+	
 Fri Oct 27 17:59:09 1995  Ian Lance Taylor  <ian@cygnus.com>
 
 	* emultempl/aix.em: Include ldctor.h.
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 38b987778e8..74ad689061e 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -197,8 +197,8 @@ ALL_EMULATIONS = ea29k.o ealpha.o earmaoutl.o earmaoutb.o \
 	eh8300h.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o \
 	ehp300bsd.o ehp3hpux.o ehppaelf.o ei386aout.o ei386bsd.o \
 	ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o \
-	ei386nbsd.o ei386nw.o elnk960.o em68kaout.o em68kcoff.o em68kelf.o \
-	em68klynx.o em68knbsd.o em88kbcs.o emipsbig.o emipsbsd.o \
+	ei386nbsd.o ei386nw.o elnk960.o em68k4knbsd.o em68kaout.o em68kcoff.o \
+	em68kelf.o em68klynx.o em68knbsd.o em88kbcs.o emipsbig.o emipsbsd.o \
 	emipsidt.o emipsidtl.o emipslit.o enews.o ens32knbsd.o eppcnw.o \
 	eriscix.o esa29200.o eshl.o esh.o esparclynx.o esparcnbsd.o \
 	est2000.o esun3.o esun4.o evanilla.o evax.o evsta.o \
@@ -467,6 +467,9 @@ eppcnw.c:	$(srcdir)/emulparams/ppcnw.sh \
 ei386nbsd.c:	$(srcdir)/emulparams/i386nbsd.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} i386nbsd
+em68k4knbsd.c:	$(srcdir)/emulparams/m68k4knbsd.sh \
+  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+	${GENSCRIPTS} m68k4knbsd
 em68knbsd.c:	$(srcdir)/emulparams/m68knbsd.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} m68knbsd
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 6d82a0883c2..506a1fd74d6 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -70,6 +70,7 @@ a29k-*-*)		targ_emul=a29k ;;
 #  arm-*-riscix*)		targ_emul=riscix ;;
 arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
 armeb-*-aout)		targ_emul=armaoutb ;;
+arm-*-coff)		targ_emul=armcoff ;;
 h8300-*-hms)		targ_emul=h8300; targ_extra_emuls=h8300h ;;
 h8500-*-hms)		targ_emul=h8500
 			targ_extra_emuls="h8500s h8500b h8500m h8500c"
@@ -85,6 +86,7 @@ m68*-*-coff)		targ_emul=m68kcoff ;;
 m68*-*-elf)		targ_emul=m68kelf ;;
 m68*-*-hpux*)		targ_emul=hp3hpux ;;
 m68*-*-lynxos*)		targ_emul=m68klynx ;;
+m68*-hp*-netbsd*)	targ_emul=m68k4knbsd ;;
 m68*-*-netbsd*)		targ_emul=m68knbsd ;;
 hppa*-*-*elf*)		targ_emul=hppaelf ;;
 hppa*-*-lites*)		targ_emul=hppaelf ;;
@@ -95,9 +97,10 @@ mips*-sgi-irix*)	targ_emul=mipsbig ;;
 mips*el-*-ecoff*)	targ_emul=mipsidtl ;;
 mips*-*-ecoff*)		targ_emul=mipsidt ;;
 mips*-dec-bsd*)		targ_emul=mipsbsd ;;
+mips*-dec-netbsd*)	targ_emul=elf32lmip ;;
 mips*-*-bsd*)		targ_emul=mipsbig ;;
-mips*vr4300el-*-elf*)	targ_emul=elf32vr4300el ;;
-mips*vr4300-*-elf*)	targ_emul=elf32vr4300 ;;
+mips*vr4300el-*-elf*)	targ_emul=elf32l4300 ;;
+mips*vr4300-*-elf*)	targ_emul=elf32b4300 ;;
 mips*el-*-elf*)		targ_emul=elf32lmip ;;
 mips*-*-elf*)		targ_emul=elf32bmip ;;
 alpha-*-osf*)		targ_emul=alpha ;;
@@ -108,6 +111,8 @@ ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
 powerpc-*-elf* | powerpc-*-eabi*)	targ_emul=elf32ppc ;;
 powerpcle-*-elf* | powerpcle-*-eabi*)	targ_emul=elf32lppc ;;
 powerpc-*-netware*)	targ_emul=ppcnw ;;
+powerpc-*-aix*)		targ_emul=aixppc ;;
+rs6000-*-aix*)		targ_emul=aixrs6 ;;
 w65-*-*)		targ_emul=w65 ;;
 *-*-aout)		targ_emul=${target_cpu}-${target_vendor} ;;
 *-*-coff)		targ_emul=${target_cpu}-${target_vendor} ;;
diff --git a/ld/emulparams/a29k.sh b/ld/emulparams/a29k.sh
index 43a85e84f93..89c8e85c1c8 100644
--- a/ld/emulparams/a29k.sh
+++ b/ld/emulparams/a29k.sh
@@ -1,5 +1,5 @@
 SCRIPT_NAME=a29k
 OUTPUT_FORMAT="coff-a29k-big"
 TEXT_START_ADDR=0x1000000
-PAGE_SIZE=0x1000000
+TARGET_PAGE_SIZE=0x1000000
 ARCH=a29k
diff --git a/ld/emulparams/ebmon29k.sh b/ld/emulparams/ebmon29k.sh
index 43ef5bdfa96..fbc2bd1e464 100644
--- a/ld/emulparams/ebmon29k.sh
+++ b/ld/emulparams/ebmon29k.sh
@@ -1,5 +1,5 @@
 SCRIPT_NAME=ebmon29k
 OUTPUT_FORMAT="coff-a29k-big"
 TEXT_START_ADDR=0x8000
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 ARCH=a29k
diff --git a/ld/emulparams/go32.sh b/ld/emulparams/go32.sh
index 97271a09921..d13357fda7a 100644
--- a/ld/emulparams/go32.sh
+++ b/ld/emulparams/go32.sh
@@ -1,7 +1,7 @@
 SCRIPT_NAME=go32coff
 OUTPUT_FORMAT="coff-go32"
 TEXT_START_ADDR=0x10a8
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 SEGMENT_SIZE=0x1000
 NONPAGED_TEXT_START_ADDR=0x0
 ARCH=i386
diff --git a/ld/emulparams/i386nbsd.sh b/ld/emulparams/i386nbsd.sh
new file mode 100644
index 00000000000..fcc74493e06
--- /dev/null
+++ b/ld/emulparams/i386nbsd.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=aout
+TEXT_START_ADDR=0x1020
+OUTPUT_FORMAT="a.out-i386-netbsd"
+TARGET_PAGE_SIZE=0x1000
+ARCH=i386
diff --git a/ld/emulparams/m68k4knbsd.sh b/ld/emulparams/m68k4knbsd.sh
new file mode 100644
index 00000000000..1bc24c0e9b9
--- /dev/null
+++ b/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/ld/emulparams/m68klynx.sh b/ld/emulparams/m68klynx.sh
index a28017746bd..b020febaaaa 100644
--- a/ld/emulparams/m68klynx.sh
+++ b/ld/emulparams/m68klynx.sh
@@ -4,5 +4,5 @@ OUTPUT_FORMAT="coff-m68k-lynx"
 ENTRY=__main
 # following are dubious
 TEXT_START_ADDR=0
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 ARCH=m68k
diff --git a/ld/emulparams/pc532machaout.sh b/ld/emulparams/pc532machaout.sh
index caa8081e0d1..07aa985b046 100644
--- a/ld/emulparams/pc532machaout.sh
+++ b/ld/emulparams/pc532machaout.sh
@@ -1,7 +1,7 @@
 EMULATION_NAME=pc532machaout
 SCRIPT_NAME=aout
 OUTPUT_FORMAT="a.out-pc532-mach"
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 TEXT_START_ADDR="0x10020"
 NONPAGED_TEXT_START_ADDR=0x10000
 ARCH=ns32k
diff --git a/ld/emulparams/rce.sh b/ld/emulparams/rce.sh
index 7bc1f86e329..7f15c9371c1 100644
--- a/ld/emulparams/rce.sh
+++ b/ld/emulparams/rce.sh
@@ -1,6 +1,6 @@
 SCRIPT_NAME=rce
 OUTPUT_FORMAT="a.out-rce"
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 TEXT_START_ADDR=0
 NONPAGED_TEXT_START_ADDR=0
 ARCH=rce
diff --git a/ld/emulparams/sa29200.sh b/ld/emulparams/sa29200.sh
index 91c07d308f4..8b52f92968d 100644
--- a/ld/emulparams/sa29200.sh
+++ b/ld/emulparams/sa29200.sh
@@ -1,5 +1,5 @@
 SCRIPT_NAME=sa29200
 OUTPUT_FORMAT="coff-a29k-big"
 TEXT_START_ADDR=0x40004000
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 ARCH=a29k
diff --git a/ld/emulparams/sparclynx.sh b/ld/emulparams/sparclynx.sh
index c85c8d59cc0..9aeb30b1334 100644
--- a/ld/emulparams/sparclynx.sh
+++ b/ld/emulparams/sparclynx.sh
@@ -3,7 +3,7 @@ OUTPUT_FORMAT="coff-sparc-lynx"
 # This is what LynxOS /lib/init1.o wants.
 ENTRY=__main
 # following are dubious
-PAGE_SIZE=0x1000
+TARGET_PAGE_SIZE=0x1000
 TEXT_START_ADDR=0
 NONPAGED_TEXT_START_ADDR=0x1000
 ARCH=sparc