--- gcc/config.gcc.jj	2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc	2008-04-24 15:44:51.000000000 -0500
@@ -2656,7 +2656,7 @@ sparc-*-rtems*)
	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
	tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
	;;
-sparc-*-linux*)
+sparc-*-linux* | sparcv9-*-linux*)
	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
	extra_options="${extra_options} sparc/long-double-switch.opt"
	case ${target} in
@@ -2710,7 +2710,7 @@ sparc64-*-rtems*)
	extra_options="${extra_options}"
	tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
	;;
-sparc64-*-linux*)
+sparc64*-*-linux*)
	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
	extra_options="${extra_options} sparc/long-double-switch.opt"
	tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
--- libgcc/config.host.jj	2008-04-24 15:46:19.000000000 -0500
+++ libgcc/config.host	2008-04-24 15:46:49.000000000 -0500
@@ -1002,7 +1002,7 @@ sparc-*-elf*)
	tmake_file="${tmake_file} t-fdpbit t-crtfm"
	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
	;;
-sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
+sparc-*-linux* | sparcv9-*-linux*)		# SPARC's running GNU/Linux, libc6
	tmake_file="${tmake_file} t-crtfm"
	if test "${host_address}" = 64; then
		tmake_file="$tmake_file sparc/t-linux64"
@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
	tmake_file="$tmake_file t-crtfm"
	extra_parts="$extra_parts crtfastmath.o"
	;;
-sparc64-*-linux*)		# 64-bit SPARC's running GNU/Linux
+sparc64*-*-linux*)		# 64-bit SPARC's running GNU/Linux
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} t-crtfm sparc/t-linux"
	if test "${host_address}" = 64; then