diff --git a/ChangeLog b/ChangeLog
index 9b78a00178af17ac817780431e733a635349801e..a75b311c36f680bf5c3a0b14e2888d132427c12b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* config.guess: Updated to 2002-01-30's version.
+	* config.sub: Updated to 2002-02-01's version.
+	Contribute sh64-elf.
+	2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+	* configure.in: Added sh64-*-*.
+
 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
 
 	* MAINTAINERS: Belatedly add myself to write after approval list.
diff --git a/config.guess b/config.guess
index aa6ea3f676608cb445e4f9ecfcb2ebfc11187e64..83c544d9703394b5c4211539a34994d3f574554b 100755
--- a/config.guess
+++ b/config.guess
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-01-10'
+timestamp='2002-01-30'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -837,7 +837,9 @@ EOF
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
 	# problems with other programs or directories called `ld' in the path.
-	ld_supported_targets=`cd /; ld --help 2>&1 \
+	# Export LANG=C to prevent ld from outputting information in other
+	# languages.
+	ld_supported_targets=`LANG=C; export LANG; cd /; ld --help 2>&1 \
 			 | sed -ne '/supported targets:/!d
 				    s/[ 	][ 	]*/ /g
 				    s/.*supported targets: *//
@@ -874,8 +876,12 @@ EOF
 	LIBC=gnulibc1
 	# endif
 	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
 	LIBC=gnuaout
 	#endif
+	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
 	rm -f $dummy.c
@@ -1061,8 +1067,10 @@ EOF
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	if test "${UNAME_MACHINE}" = "x86pc"; then
 		UNAME_MACHINE=pc
+		echo i386-${UNAME_MACHINE}-nto-qnx
+	else
+		echo `uname -p`-${UNAME_MACHINE}-nto-qnx
 	fi
-	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
 	exit 0 ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
diff --git a/config.sub b/config.sub
index 16573348b81f291aed336a09e157f42ba6c20a24..c8403980b43e7de72f6b57722cb26ed300bc6f9b 100755
--- a/config.sub
+++ b/config.sub
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-01-02'
+timestamp='2002-02-01'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -242,11 +242,11 @@ case $basic_machine in
 	| mipsisa32 \
 	| mn10200 | mn10300 \
 	| ns16k | ns32k \
-	| openrisc \
+	| openrisc | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| sh | sh[34] | sh[34]eb | shbe | shle \
+	| sh | sh[34] | sh[34]eb | shbe | shle | sh64 \
 	| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
 	| strongarm \
 	| tahoe | thumb | tic80 | tron \
@@ -305,7 +305,7 @@ case $basic_machine in
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
 	| romp-* | rs6000-* \
-	| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
+	| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* | sh64-* \
 	| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
 	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
 	| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
@@ -714,6 +714,10 @@ case $basic_machine in
 		basic_machine=hppa1.1-oki
 		os=-proelf
 		;;
+	or32 | or32-*)
+		basic_machine=or32-unknown
+		os=-coff
+		;;
 	OSE68000 | ose68000)
 		basic_machine=m68000-ericsson
 		os=-ose
@@ -1006,6 +1010,9 @@ case $basic_machine in
 	sh3 | sh4 | sh3eb | sh4eb)
 		basic_machine=sh-unknown
 		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
 	sparc | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
@@ -1259,6 +1266,9 @@ case $basic_machine in
 	mips*-*)
 		os=-elf
 		;;
+	or32-*)
+		os=-coff
+		;;
 	*-tti)	# must be before sparc entry or we get the wrong os.
 		os=-sysv3
 		;;
diff --git a/configure.in b/configure.in
index 957b08fd46d4cbe56730a7c8dc4600a2985e6c14..774a84c53fe61d3639ad88e45dff655d2ebabe3b 100644
--- a/configure.in
+++ b/configure.in
@@ -966,6 +966,9 @@ case "${target}" in
     esac
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
+  sh64-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+    ;;
   sparc-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-libstub target-cygmon"