diff --git a/ChangeLog b/ChangeLog
index 5597655057a88ba910b8042f98f9e126286c0bdb..b86a3381c5a280185f8c7357b09ff7fbb99e1404 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jan 23 00:29:28 1998  Philip Blundell  <pb@nexus.co.uk>
+
+	* config.guess: Add support for Linux/ARM.
+
 Thu Jan 22 01:38:33 1998  Richard Henderson  <rth@cygnus.com>
 
 	* configure.in: Revert 3 Jan change for alpha-linux-gnulibc1.
diff --git a/config.guess b/config.guess
index 687adc2e8937bc976bcb9efe6a42312b727b5e10..6fd3e68510b2bcf7870254c3e1f584feb36a3a58 100755
--- a/config.guess
+++ b/config.guess
@@ -493,6 +493,12 @@ EOF
 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit 0 ;;
     *:Linux:*:*)
+	# uname on the ARM produces all sorts of strangeness, and we need to
+	# filter it out.
+	case "$UNAME_MACHINE" in
+	  arm* | sa110*)	      UNAME_MACHINE="arm" ;;
+	esac
+
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us.
 	ld_help_string=`ld --help 2>&1`
@@ -506,6 +512,7 @@ EOF
 	  i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
 	  i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
 	  sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+	  armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
 	  m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
 	  elf32ppc)
 		# Determine Lib Version