diff --git a/gdb/.Sanitize b/gdb/.Sanitize
index e9a059b5fa3..1d4c1cbd321 100644
--- a/gdb/.Sanitize
+++ b/gdb/.Sanitize
@@ -424,6 +424,35 @@ else
 	done
 fi
 
+arc_files="configure.in"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+	for i in $arc_files ; do
+		if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+			if [ -n "${verbose}" ] ; then
+				echo Keeping arc stuff in $i
+			fi
+		fi
+	done
+else
+	for i in $arc_files ; do
+		if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
+			if [ -n "${verbose}" ] ; then
+				echo Removing traces of \"arc\" from $i...
+			fi
+			cp $i new
+			sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
+			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+				if [ -n "${verbose}" ] ; then
+					echo Caching $i in .Recover...
+				fi
+				mv $i .Recover
+			fi
+			mv new $i
+		fi
+	done
+fi
+
 for i in * ; do
 	if test ! -d $i && (grep sanitize $i > /dev/null) ; then
 		echo '***' Some mentions of Sanitize are still left in $i! 1>&2
diff --git a/gdb/configure.in b/gdb/configure.in
index 9c1e235fe9f..2b66b073551 100644
--- a/gdb/configure.in
+++ b/gdb/configure.in
@@ -193,7 +193,10 @@ alpha-*-osf*)		gdb_target=alpha-osf1 ;;
 alpha-*-netware*)	gdb_target=alpha-nw
 			configdirs="${configdirs} nlm" ;;
 
+# start-sanitize-arc
 arc-*-*)		gdb_target=arc ;;
+# end-sanitize-arc
+
 arm-*-*)		gdb_target=arm ;;
 
 c1-*-*)			gdb_target=convex ;;