diff --git a/ld/ChangeLog b/ld/ChangeLog
index f95b2bbaa74..86d0317a0c1 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,18 @@
+Mon Jan 23 13:58:13 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
+	* config/i386-gnu.mt: New file.  Include ELF support.
+
+Thu Jan 19 16:22:11 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
+	there are any input sections named .gnu.warning, treat them as
+	containing a warning message to be printed by the linker, and
+	clobber the size so that the message is not copied into the output
+	file.
+	* scripttempl/elf.sc: Put .gnu.warning sections into the .text
+	section.
+
 Sun Jan 15 16:45:00 1995  Steve Chamberlain  <sac@splat>
 
 	* configure.in (w65-*-*): New target.
diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize
index 6ba1528ab85..6fafb72afae 100644
--- a/ld/config/.Sanitize
+++ b/ld/config/.Sanitize
@@ -61,6 +61,7 @@ i386-aout.mt
 i386-bsd.mt
 i386-coff.mt
 i386-elf.mt
+i386-gnu.mt
 i386-go32.mt
 i386-linux.mt
 i386-lynx.mt
diff --git a/ld/config/i386-gnu.mt b/ld/config/i386-gnu.mt
new file mode 100644
index 00000000000..f1e21a988b6
--- /dev/null
+++ b/ld/config/i386-gnu.mt
@@ -0,0 +1,2 @@
+EMUL=i386mach
+EMUL_EXTRA1=elf_i386
diff --git a/ld/configure.in b/ld/configure.in
index 398daddf036..42ca520e271 100644
--- a/ld/configure.in
+++ b/ld/configure.in
@@ -40,6 +40,9 @@ do
 
 case "${targ}" in
 
+# start-sanitize-arc
+  arc-*-elf*)		ld_target=arc-elf ;;
+# end-sanitize-arc
   sparc-sun-sunos4*) 	ld_target=sun4 ;;
   sparclite*-*-coff)	ld_target=coff-sparc ;;
   sparclite*-fujitsu-*) ld_target=sun4 ;;
@@ -79,7 +82,7 @@ case "${targ}" in
   i[345]86-*-elf*)	ld_target=i386-elf ;;
   i[345]86-*-sysv*)	ld_target=i386-coff ;;
   i[345]86-*-mach*)	ld_target=i386-mach ;;
-  i[345]86-*-gnu*)	ld_target=i386-mach ;;
+  i[345]86-*-gnu*)	ld_target=i386-gnu ;;
   m8*-*-*)		ld_target=m88k-bcs ;;
   a29k-*-udi)		ld_target=sa29200 ;;
   a29k-*-ebmon)		ld_target=ebmon29k ;;
@@ -90,7 +93,7 @@ case "${targ}" in
   h8500-*-hms)		ld_target=coff-h8500 ;;
   sh-*-*)		ld_target=coff-sh ;;
 # start-sanitize-rce
-  rce-*-*)		ld_target=rce-aout ;;
+  rce-*-aout)		ld_target=rce-aout ;;
 # end-sanitize-rce
   m68k-sony-*)		ld_target=news ;;
   m68k-hp-bsd*)		ld_target=hp300bsd ;;
@@ -119,6 +122,7 @@ case "${targ}" in
   ns32k-pc532-netbsd*)  ld_target=ns32k-nbsd ;;
   powerpc-*-elf*)	ld_target=ppc-elf32 ;;
   powerpc-*-netware*)	ld_target=ppc-nw ;;
+  w65-*-*)              ld_target=coff-w65 ;;
   *-*-aout)		ld_target=${target_cpu}-${target_vendor} ;;
   *-*-coff)		ld_target=${target_cpu}-${target_vendor} ;;
   *-*-netware)		ld_target=${target_cpu}-nw ;;