diff -rNdup gcc-4.2.1/configure gcc-4.2.1-new/configure
--- gcc-4.2.1/configure	2007-06-20 16:07:21.000000000 -0700
+++ gcc-4.2.1-new/configure	2007-11-09 17:50:46.000000000 -0800
@@ -1632,7 +1632,7 @@ case "${target}" in
   vax-*-*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  xtensa-*-*)
+  xtensa*-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   ip2k-*-*)
@@ -2903,7 +2903,7 @@ case "${target}" in
   v850*-*-*)
     md_exec_prefix=/usr/ccs/bin
     ;;
-  xtensa-*-elf*)
+  xtensa*-*-elf*)
     ;;
 
   *-*-beos* | \
diff -rNdup gcc-4.2.1/configure.in gcc-4.2.1-new/configure.in
--- gcc-4.2.1/configure.in	2007-05-30 06:48:07.000000000 -0700
+++ gcc-4.2.1-new/configure.in	2007-11-09 17:50:51.000000000 -0800
@@ -792,7 +792,7 @@ case "${target}" in
   vax-*-*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  xtensa-*-*)
+  xtensa*-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   ip2k-*-*)
@@ -1616,7 +1616,7 @@ case "${target}" in
   v850*-*-*)
     md_exec_prefix=/usr/ccs/bin
     ;;
-  xtensa-*-elf*)
+  xtensa*-*-elf*)
     ;;
 
   *-*-beos* | \
diff -rNdup gcc-4.2.1/gcc/config.gcc gcc-4.2.1-new/gcc/config.gcc
--- gcc-4.2.1/gcc/config.gcc	2007-11-09 17:43:08.000000000 -0800
+++ gcc-4.2.1-new/gcc/config.gcc	2007-11-09 18:11:32.000000000 -0800
@@ -331,6 +331,9 @@ sh[123456789lbe]*-*-*)
 tic4x-*-*)
         cpu_type=c4x
         ;;
+xtensa*-*-*)
+        cpu_type=xtensa
+        ;;
 esac
 
 tm_file=${cpu_type}/${cpu_type}.h
@@ -2435,11 +2438,11 @@ xstormy16-*-elf)
 	extra_parts="crtbegin.o crtend.o"
 	use_fixproto=yes
 	;;
-xtensa-*-elf*)
+xtensa*-*-elf*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
 	tmake_file="xtensa/t-xtensa xtensa/t-elf"
 	;;
-xtensa-*-linux*)
+xtensa*-*-linux*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
 	tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux"
 	;;
diff -rNdup gcc-4.2.1/gcc/configure gcc-4.2.1-new/gcc/configure
--- gcc-4.2.1/gcc/configure	2007-01-01 19:44:31.000000000 -0800
+++ gcc-4.2.1-new/gcc/configure	2007-11-09 18:07:13.000000000 -0800
@@ -15612,7 +15612,7 @@ esac
 case "$target" in
   i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
   | x86_64*-*-* | hppa*-*-* | arm*-*-* | strongarm*-*-* | xscale*-*-* \
-  | xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-*)
+  | xstormy16*-*-* | cris-*-* | xtensa*-*-* | bfin-*-* | score*-*-*)
     insn="nop"
     ;;
   ia64*-*-* | s390*-*-*)
diff -rNdup gcc-4.2.1/gcc/configure.ac gcc-4.2.1-new/gcc/configure.ac
--- gcc-4.2.1/gcc/configure.ac	2007-01-01 19:44:31.000000000 -0800
+++ gcc-4.2.1-new/gcc/configure.ac	2007-11-09 18:07:06.000000000 -0800
@@ -2974,7 +2974,7 @@ esac
 case "$target" in
   i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
   | x86_64*-*-* | hppa*-*-* | arm*-*-* | strongarm*-*-* | xscale*-*-* \
-  | xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-*)
+  | xstormy16*-*-* | cris-*-* | xtensa*-*-* | bfin-*-* | score*-*-*)
     insn="nop"
     ;;
   ia64*-*-* | s390*-*-*)
diff -rNdup gcc-4.2.1/gcc/doc/gccinstall.info gcc-4.2.1-new/gcc/doc/gccinstall.info
--- gcc-4.2.1/gcc/doc/gccinstall.info	2007-07-19 08:23:53.000000000 -0700
+++ gcc-4.2.1-new/gcc/doc/gccinstall.info	2007-11-09 18:04:17.000000000 -0800
@@ -3312,8 +3312,8 @@ GCC supports the x86-64 architecture imp
 On GNU/Linux the default is a bi-arch compiler which is able to generate
 both 64-bit x86-64 and 32-bit x86 code (via the `-m32' switch).
 
-xtensa-*-elf
-============
+xtensa*-*-elf
+=============
 
 This target is intended for embedded Xtensa systems using the `newlib'
 C library.  It uses ELF but does not support shared objects.
@@ -3327,14 +3327,14 @@ configuration with the Xtensa Processor 
 include a customized copy of this header file, which you can use to
 replace the default header file.
 
-xtensa-*-linux*
-===============
+xtensa*-*-linux*
+================
 
 This target is for Xtensa systems running GNU/Linux.  It supports ELF
 shared objects and the GNU C library (glibc).  It also generates
 position-independent code (PIC) regardless of whether the `-fpic' or
 `-fPIC' options are used.  In other respects, this target is the same
-as the `xtensa-*-elf' target.
+as the `xtensa*-*-elf' target.
 
 Microsoft Windows (32-bit)
 ==========================
diff -rNdup gcc-4.2.1/gcc/doc/install.texi gcc-4.2.1-new/gcc/doc/install.texi
--- gcc-4.2.1/gcc/doc/install.texi	2007-03-06 21:04:26.000000000 -0800
+++ gcc-4.2.1-new/gcc/doc/install.texi	2007-11-09 18:03:55.000000000 -0800
@@ -2457,9 +2457,9 @@ information are.
 @item
 @uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*}
 @item
-@uref{#xtensa-x-elf,,xtensa-*-elf}
+@uref{#xtensa-x-elf,,xtensa*-*-elf}
 @item
-@uref{#xtensa-x-linux,,xtensa-*-linux*}
+@uref{#xtensa-x-linux,,xtensa*-*-linux*}
 @item
 @uref{#windows,,Microsoft Windows}
 @item
@@ -4070,7 +4070,7 @@ both 64-bit x86-64 and 32-bit x86 code (
 @html
 <hr />
 @end html
-@heading @anchor{xtensa-x-elf}xtensa-*-elf
+@heading @anchor{xtensa-x-elf}xtensa*-*-elf
 
 This target is intended for embedded Xtensa systems using the
 @samp{newlib} C library.  It uses ELF but does not support shared
@@ -4088,14 +4088,14 @@ which you can use to replace the default
 @html
 <hr />
 @end html
-@heading @anchor{xtensa-x-linux}xtensa-*-linux*
+@heading @anchor{xtensa-x-linux}xtensa*-*-linux*
 
 This target is for Xtensa systems running GNU/Linux.  It supports ELF
 shared objects and the GNU C library (glibc).  It also generates
 position-independent code (PIC) regardless of whether the
 @option{-fpic} or @option{-fPIC} options are used.  In other
 respects, this target is the same as the
-@uref{#xtensa-*-elf,,@samp{xtensa-*-elf}} target.
+@uref{#xtensa*-*-elf,,@samp{xtensa*-*-elf}} target.
 
 @html
 <hr />
diff -rNdup gcc-4.2.1/gcc/testsuite/gcc.c-torture/compile/20001226-1.c gcc-4.2.1-new/gcc/testsuite/gcc.c-torture/compile/20001226-1.c
--- gcc-4.2.1/gcc/testsuite/gcc.c-torture/compile/20001226-1.c	2006-04-13 16:14:25.000000000 -0700
+++ gcc-4.2.1-new/gcc/testsuite/gcc.c-torture/compile/20001226-1.c	2007-11-09 18:07:10.000000000 -0800
@@ -1,7 +1,7 @@
 /* This does not assemble on m68hc11 because the function is larger
    than 64K.  */
 /* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
-/* { dg-xfail-if "jump beyond 128K not supported" "xtensa-*-*" "-O0" "" } */
+/* { dg-xfail-if "jump beyond 128K not supported" "xtensa*-*-*" "-O0" "" } */
 /* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */
 
 /* This testcase exposed two branch shortening bugs on powerpc.  */
diff -rNdup gcc-4.2.1/gcc/testsuite/gcc.dg/intmax_t-1.c gcc-4.2.1-new/gcc/testsuite/gcc.dg/intmax_t-1.c
--- gcc-4.2.1/gcc/testsuite/gcc.dg/intmax_t-1.c	2005-11-26 19:25:42.000000000 -0800
+++ gcc-4.2.1-new/gcc/testsuite/gcc.dg/intmax_t-1.c	2007-11-09 18:05:28.000000000 -0800
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-Wall" } */
-/* { dg-error "" "" { target *-*-solaris2.5.1 *arm*-*-*elf* xscale*-*-elf* xtensa-*-elf* } 0 } */
+/* { dg-error "" "" { target *-*-solaris2.5.1 *arm*-*-*elf* xscale*-*-elf* xtensa*-*-elf* } 0 } */
 
 /* Compile with -Wall to get a warning if built-in and system intmax_t don't
    match.  */
diff -rNdup gcc-4.2.1/gcc/testsuite/gcc.dg/sibcall-3.c gcc-4.2.1-new/gcc/testsuite/gcc.dg/sibcall-3.c
--- gcc-4.2.1/gcc/testsuite/gcc.dg/sibcall-3.c	2005-07-19 23:39:38.000000000 -0700
+++ gcc-4.2.1-new/gcc/testsuite/gcc.dg/sibcall-3.c	2007-11-09 18:05:12.000000000 -0800
@@ -5,7 +5,7 @@
    Copyright (C) 2002 Free Software Foundation Inc.
    Contributed by Hans-Peter Nilsson  <hp@bitrange.com>  */
 
-/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
+/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } } */
 /* { dg-options "-O2 -foptimize-sibling-calls" } */
 
 /* The option -foptimize-sibling-calls is the default, but serves as
diff -rNdup gcc-4.2.1/gcc/testsuite/gcc.dg/sibcall-4.c gcc-4.2.1-new/gcc/testsuite/gcc.dg/sibcall-4.c
--- gcc-4.2.1/gcc/testsuite/gcc.dg/sibcall-4.c	2005-07-19 23:39:38.000000000 -0700
+++ gcc-4.2.1-new/gcc/testsuite/gcc.dg/sibcall-4.c	2007-11-09 18:04:43.000000000 -0800
@@ -5,7 +5,7 @@
    Copyright (C) 2002 Free Software Foundation Inc.
    Contributed by Hans-Peter Nilsson  <hp@bitrange.com>  */
 
-/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */
+/* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* hppa*64*-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mn10300-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } } */
 /* { dg-options "-O2 -foptimize-sibling-calls" } */
 
 /* The option -foptimize-sibling-calls is the default, but serves as
diff -rNdup gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
--- gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C	2005-05-23 01:41:57.000000000 -0700
+++ gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C	2007-11-09 18:06:48.000000000 -0800
@@ -1,4 +1,4 @@
-// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa-*-* m32r*-*-* } }
+// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
 // Test that variadic function calls using thunks work right.
 // Note that this will break on any target that uses the generic thunk
 //  support, because it doesn't support variadic functions.
diff -rNdup gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.other/init18.C gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.other/init18.C
--- gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.other/init18.C	2006-06-02 10:39:28.000000000 -0700
+++ gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.other/init18.C	2007-11-09 18:06:50.000000000 -0800
@@ -5,7 +5,7 @@
 //
 // Any platform that doesn't have proper __cxa_atexit support will also fail.
 //
-// { dg-do run { xfail { { mmix-knuth-mmixware xtensa-*-elf* arm*-*-elf arm*-*-eabi m68k-*-elf } || { ! cxa_atexit } } } }
+// { dg-do run { xfail { { mmix-knuth-mmixware xtensa*-*-elf* arm*-*-elf arm*-*-eabi m68k-*-elf } || { ! cxa_atexit } } } }
 
 #include <stdlib.h>
 extern "C" void _exit (int);
diff -rNdup gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.pt/static11.C gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.pt/static11.C
--- gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.pt/static11.C	2006-02-22 01:05:07.000000000 -0800
+++ gcc-4.2.1-new/gcc/testsuite/g++.old-deja/g++.pt/static11.C	2007-11-09 18:06:54.000000000 -0800
@@ -2,7 +2,7 @@
 // in their dejagnu baseboard description) require that the status is
 // final when exit is entered (or main returns), and not "overruled" by a
 // destructor calling _exit.  It's not really worth it to handle that.
-// { dg-do run { xfail mmix-knuth-mmixware xtensa-*-elf* arm*-*-elf arm*-*-eabi m68k-*-elf } }
+// { dg-do run { xfail mmix-knuth-mmixware xtensa*-*-elf* arm*-*-elf arm*-*-eabi m68k-*-elf } }
 
 // Bug: g++ was failing to destroy C<int>::a because it was using two
 // different sentry variables for construction and destruction.
diff -rNdup gcc-4.2.1/gcc/testsuite/lib/target-supports.exp gcc-4.2.1-new/gcc/testsuite/lib/target-supports.exp
--- gcc-4.2.1/gcc/testsuite/lib/target-supports.exp	2007-02-07 02:11:36.000000000 -0800
+++ gcc-4.2.1-new/gcc/testsuite/lib/target-supports.exp	2007-11-09 18:07:02.000000000 -0800
@@ -348,7 +348,7 @@ proc check_profiling_available { test_wh
 	     || [istarget m32c-*-elf]
 	     || [istarget m68k-*-elf]
 	     || [istarget mips*-*-elf]
-	     || [istarget xtensa-*-elf]
+	     || [istarget xtensa*-*-elf]
 	     || [istarget *-*-windiss] } {
 	    set profiling_available_saved 0
 	} else {
diff -rNdup gcc-4.2.1/libjava/classpath/config.sub gcc-4.2.1-new/libjava/classpath/config.sub
--- gcc-4.2.1/libjava/classpath/config.sub	2006-08-14 16:12:35.000000000 -0700
+++ gcc-4.2.1-new/libjava/classpath/config.sub	2007-11-09 18:14:00.000000000 -0800
@@ -368,10 +368,14 @@ case $basic_machine in
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
+	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-*)
 		;;
+	# Recognize the basic CPU types without company name that have globbing match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
