diff --git a/gdb/configure.nat b/gdb/configure.nat
index c0ac811..6c135d0 100644
--- a/gdb/configure.nat
+++ b/gdb/configure.nat
@@ -48,555 +48,437 @@
 # - nat_extra_makefile_frag should contain the full path of the file.
 
 
-case ${gdb_host_cpu} in
-  aarch64)
-    case ${gdb_host} in
-      linux)
-	#  Host: AArch64 based machine running GNU/Linux
+# This first case is useful for filling default values for each
+# gdb_host.
+case ${gdb_host} in
+    *linux*)
 	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o aarch64-linux-nat.o aarch32-linux-nat.o \
-		proc-service.o linux-thread-db.o linux-nat.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-osdata.o linux-waitpid.o \
-		linux-personality.o linux-namespaces.o aarch64-linux-hw-point.o \
-		aarch64-linux.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
-  alpha)
-    case ${gdb_host} in
-      alpha-linux)
-	# Host: Little-endian Alpha running Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o alpha-linux-nat.o \
-		fork-child.o proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o linux-personality.o linux-namespaces.o'
+	NATDEPFILES='inf-ptrace.o fork-child.o proc-service.o \
+		linux-thread-db.o linux-nat.o linux-osdata.o linux-fork.o \
+		linux-procfs.o linux-ptrace.o linux-waitpid.o \
+		linux-personality.o linux-namespaces.o'
 	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
 	LOADLIBES='-ldl $(RDYNAMIC)'
-
-	# doublest.c currently assumes some properties of FP arithmetic
-	# on the host which require this.
-	MH_CFLAGS='-mieee'
 	;;
-      nbsd)
-	# Host: NetBSD/alpha
-	NATDEPFILES='fork-child.o inf-ptrace.o alpha-bsd-nat.o bsd-kvm.o'
-
+    fbsd*)
+	NATDEPFILES='fork-child.o inf-ptrace.o fbsd-nat.o'
+	HAVE_NATIVE_GCORE_HOST=1
 	LOADLIBES='-lkvm'
 	;;
-    esac
-    ;;
-  arm)
-    case ${gdb_host} in
-      linux)
-	# Host: ARM based machine running GNU/Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o arm-linux-nat.o \
-		aarch32-linux-nat.o proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
+    nbsd*)
+	NATDEPFILES='fork-child.o inf-ptrace.o'
 	;;
-      nbsdelf)
-	# Host: NetBSD/arm
-	NATDEPFILES='fork-child.o inf-ptrace.o arm-nbsd-nat.o'
+    obsd*)
+	NATDEPFILES='fork-child.o inf-ptrace.o'
 	;;
-    esac
-    ;;
-  i386)
-    case ${gdb_host} in
-      cygwin64)
-	#  Native config information for GDB on PowerPC systems running FreeBSD.
-	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o'
+    cygwin*)
+	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
 	;;
-      cygwin)
-	MH_CFLAGS=
-	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o'
-	XM_CLIBS=
+    mingw*)
+	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
 	;;
-      darwin)
-	# Host: IA86 running Darwin
-	NATDEPFILES='fork-child.o darwin-nat.o \
-	     i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o darwin-nat-info.o'
-	;;
-      fbsd64)
-	# Host: FreeBSD/amd64
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		fbsd-nat.o amd64-nat.o amd64-bsd-nat.o amd64-fbsd-nat.o \
-		bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o'
-	HAVE_NATIVE_GCORE_HOST=1
-
-	LOADLIBES='-lkvm'
-	;;
-      fbsd)
-	# Host: FreeBSD/i386
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		fbsd-nat.o x86-nat.o x86-dregs.o x86-bsd-nat.o i386-bsd-nat.o \
-		i386-fbsd-nat.o bsd-kvm.o'
-	NAT_FILE='nm-fbsd.h'
-	HAVE_NATIVE_GCORE_HOST=1
-
-	LOADLIBES='-lkvm'
-	;;
-      go32)
-	# Host: Intel x86 running DJGPP
-
-	# We include several header files from config/djgpp
-	MH_CFLAGS='-I$(srcdir)/config/djgpp'
-
-	NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
+esac
 
-	XM_CLIBS='-ldbg'
-	;;
-      i386gnu)
-	# Host: Intel 386 running the GNU Hurd
-	NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
+# This is where we actually filter by host and host CPU.
+case ${gdb_host} in
+    aix)
+	case ${gdb_host_cpu} in
+	    powerpc)
+		# Host: IBM PowerPC running AIX aix-thread.o is not
+		# listed in NATDEPFILES as it is pulled in by
+		# configure.
+		NATDEPFILES='fork-child.o inf-ptrace.o rs6000-nat.o'
+
+		# When compiled with cc, for debugging, this argument
+		# should be passed.  We have no idea who our current
+		# compiler is though, so we skip it.
+		# MH_CFLAGS='-bnodelcsect'
+		;;
+	esac
+	;;
+    alpha-linux)
+	case ${gdb_host_cpu} in
+	    alpha)
+		# Host: Little-endian Alpha running Linux
+		NATDEPFILES="${NATDEPFILES} alpha-linux-nat.o"
+		# doublest.c currently assumes some properties of FP arithmetic
+		# on the host which require this.
+		MH_CFLAGS='-mieee'
+		;;
+	esac
+	;;
+    cygwin)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Native config information for GDB on i386
+		# systems running Cygwin.
+		NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
+		;;
+	esac
+	;;
+    cygwin64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Native config information for GDB on amd64
+		# systems running Cygwin.
+		NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
+		;;
+	esac
+	;;
+    darwin)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: IA86 running Darwin
+		NATDEPFILES='fork-child.o darwin-nat.o \
+		i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o \
+		darwin-nat-info.o'
+		;;
+	esac
+	;;
+    fbsd)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: FreeBSD/i386
+		NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
+		x86-bsd-nat.o i386-bsd-nat.o i386-fbsd-nat.o bsd-kvm.o"
+		NAT_FILE='nm-fbsd.h'
+		;;
+	    mips)
+		# Host: FreeBSD/mips
+		NATDEPFILES="${NATDEPFILES} mips-fbsd-nat.o"
+		LOADLIBES=
+		;;
+	    powerpc)
+		# Native config information for GDB on PowerPC
+		# systems running FreeBSD.
+		NATDEPFILES="${NATDEPFILES} ppc-fbsd-nat.o bsd-kvm.o"
+		;;
+	    sparc)
+		# Host: FreeBSD/sparc64
+		NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
+		sparc64-fbsd-nat.o bsd-kvm.o"
+		;;
+	esac
+	;;
+    fbsd64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: FreeBSD/amd64
+		NATDEPFILES="${NATDEPFILES} amd64-nat.o amd64-bsd-nat.o \
+		amd64-fbsd-nat.o bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o"
+		;;
+	esac
+	;;
+    go32)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: Intel x86 running DJGPP
+		# We include several header files from config/djgpp
+		MH_CFLAGS='-I$(srcdir)/config/djgpp'
+		NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
+		XM_CLIBS='-ldbg'
+		;;
+	esac
+	;;
+    i386gnu)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: Intel 386 running the GNU Hurd
+		NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
 		     x86-nat.o x86-dregs.o fork-child.o \
 		     notify_S.o process_reply_S.o msg_reply_S.o \
 		     msg_U.o exc_request_U.o exc_request_S.o'
-	HAVE_NATIVE_GCORE_HOST=1
+		HAVE_NATIVE_GCORE_HOST=1
 
-	NAT_FILE='nm-i386gnu.h'
-	MH_CFLAGS='-D_GNU_SOURCE'
+		NAT_FILE='nm-i386gnu.h'
+		MH_CFLAGS='-D_GNU_SOURCE'
 
-	XM_CLIBS='-lshouldbeinlibc'
+		XM_CLIBS='-lshouldbeinlibc'
 
-	nat_extra_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu-extra.mh"
+		nat_extra_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu-extra.mh"
+		;;
+	esac
 	;;
-      i386sol2)
-	# Host: Solaris x86
-	NATDEPFILES='fork-child.o i386-v4-nat.o i386-sol2-nat.o \
+    i386sol2)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: Solaris x86
+		NATDEPFILES='fork-child.o i386-v4-nat.o i386-sol2-nat.o \
 		procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-	HAVE_NATIVE_GCORE_HOST=1
-	;;
-      linux64)
-	# Host: GNU/Linux x86-64
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		x86-nat.o x86-dregs.o amd64-nat.o amd64-linux-nat.o \
-		x86-linux-nat.o \
-		linux-nat.o linux-osdata.o \
-		proc-service.o linux-thread-db.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-btrace.o \
-		linux-waitpid.o linux-personality.o x86-linux.o \
-		x86-linux-dregs.o amd64-linux-siginfo.o linux-namespaces.o'
-	NAT_FILE='config/nm-linux.h'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      linux)
-	# Host: Intel 386 running GNU/Linux.
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		x86-nat.o x86-dregs.o i386-linux-nat.o x86-linux-nat.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-btrace.o linux-waitpid.o linux-personality.o x86-linux.o \
-		x86-linux-dregs.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      mingw64)
-	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o'
-	;;
-      mingw)
-	MH_CFLAGS=
-	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o'
-	XM_CLIBS=
-	;;
-      nbsd64)
-	# Host: NetBSD/amd64
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		nbsd-nat.o amd64-nat.o x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o'
-	;;
-      nbsdelf)
-	# Host: NetBSD/i386 ELF
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		nbsd-nat.o x86-bsd-nat.o i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      nto)
-	# Host: Intel 386 running QNX.
-	NATDEPFILES='nto-procfs.o'
-	NAT_FILE='config/nm-nto.h'
-	;;
-      obsd64)
-	# Host: OpenBSD/amd64
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
-		amd64-nat.o x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      obsd)
-	# Host: OpenBSD/i386 ELF
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
-		x86-bsd-nat.o i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      sol2-64)
-	# Host: Solaris x86_64
-	NATDEPFILES='fork-child.o amd64-nat.o i386-v4-nat.o i386-sol2-nat.o \
+		HAVE_NATIVE_GCORE_HOST=1
+		;;
+	esac
+	;;
+    linux)
+	case ${gdb_host_cpu} in
+	    aarch64)
+		#  Host: AArch64 based machine running GNU/Linux
+		NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
+		aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o"
+		;;
+	    arm)
+		# Host: ARM based machine running GNU/Linux
+		NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \
+		aarch32-linux-nat.o"
+		;;
+	    i386)
+		# Host: Intel 386 running GNU/Linux.
+		NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
+		i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
+		x86-linux.o x86-linux-dregs.o"
+		;;
+	    ia64)
+		# Host: Intel IA-64 running GNU/Linux
+		NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o"
+		;;
+	    m32r)
+		# Host: M32R based machine running GNU/Linux
+		NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o"
+		;;
+	    m68k)
+		# Host: Motorola m68k running GNU/Linux.
+		NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
+		;;
+	    mips)
+		# Host: Linux/MIPS
+		NATDEPFILES="${NATDEPFILES} mips-linux-nat.o \
+		mips-linux-watch.o"
+		;;
+	    pa)
+		# Host: Hewlett-Packard PA-RISC machine, running Linux
+		NATDEPFILES="${NATDEPFILES} hppa-linux-nat.o"
+		;;
+	    powerpc)
+		# Host: PowerPC, running Linux
+		NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o"
+		;;
+	    s390)
+		# Host: S390, running Linux
+		NATDEPFILES="${NATDEPFILES} s390-linux-nat.o"
+		;;
+	    sparc)
+		# Host: GNU/Linux SPARC
+		NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-linux-nat.o"
+		;;
+	    tilegx)
+		# Host: Tilera TILE-Gx running GNU/Linux.
+		NATDEPFILES="${NATDEPFILES} tilegx-linux-nat.o"
+		NAT_CDEPS=
+		;;
+	    xtensa)
+		# Host: Xtensa, running GNU/Linux.
+		NATDEPFILES="${NATDEPFILES} xtensa-linux-nat.o"
+		;;
+	esac
+	;;
+    linux64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: GNU/Linux x86-64
+		NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
+		amd64-nat.o amd64-linux-nat.o x86-linux-nat.o linux-btrace.o \
+		x86-linux.o x86-linux-dregs.o amd64-linux-siginfo.o"
+		;;
+	    sparc)
+		# Host: GNU/Linux UltraSPARC
+		NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
+		sparc64-linux-nat.o"
+		;;
+	esac
+	;;
+    mingw)
+	case ${gdb_host_cpu} in
+	    i386)
+		NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
+		;;
+	esac
+	;;
+    mingw64)
+	case ${gdb_host_cpu} in
+	    i386)
+		NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
+		;;
+	esac
+	;;
+    nbsd)
+	case ${gdb_host_cpu} in
+	    alpha)
+		# Host: NetBSD/alpha
+		NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    mips)
+		# Host: NetBSD/mips
+		NATDEPFILES="${NATDEPFILES} mips-nbsd-nat.o"
+		;;
+	    pa)
+		# Host: NetBSD/hppa
+		NATDEPFILES="${NATDEPFILES} nbsd-nat.o hppa-nbsd-nat.o"
+		;;
+	    powerpc)
+		# Host: NetBSD/powerpc
+		NATDEPFILES="${NATDEPFILES} ppc-nbsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    sh)
+		# Host: NetBSD/sh
+		NATDEPFILES="${NATDEPFILES} sh-nbsd-nat.o"
+		;;
+
+	esac
+	;;
+    nbsd64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: NetBSD/amd64
+		NATDEPFILES="${NATDEPFILES} nbsd-nat.o amd64-nat.o \
+		x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o"
+		;;
+	    sparc)
+		# Host: NetBSD/sparc64
+		NATDEPFILES="${NATDEPFILES} sparc64-nbsd-nat.o sparc-nat.o \
+		bsd-kvm.o"
+		;;
+
+	esac
+	;;
+    nbdself)
+	case ${gdb_host_cpu} in
+	    arm)
+		# Host: NetBSD/arm
+		NATDEPFILES="${NATDEPFILES} arm-nbsd-nat.o"
+		;;
+	    i386)
+		# Host: NetBSD/i386 ELF
+		NATDEPFILES="${NATDEPFILES} nbsd-nat.o x86-bsd-nat.o \
+		i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    m68k)
+		# Host: NetBSD/m68k ELF
+		NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    sparc)
+		# Host: NetBSD/sparc ELF
+		NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-nbsd-nat.o \
+		bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    vax)
+		# Host: NetBSD/vax ELF
+		NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+
+	esac
+	;;
+    nto)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: Intel 386 running QNX.
+		NATDEPFILES='nto-procfs.o'
+		NAT_FILE='config/nm-nto.h'
+		;;
+	esac
+	;;
+    obsd)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: OpenBSD/i386 ELF
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o x86-bsd-nat.o \
+		i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    m68k)
+		# Host: OpenBSD/m68k
+		NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    m88k)
+		# Host: OpenBSD/m88k
+		NATDEPFILES="${NATDEPFILES} m88k-bsd-nat.o"
+		;;
+	    pa)
+		# Host: OpenBSD/hppa
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
+		;;
+	    powerpc)
+		# Host: OpenBSD/powerpc
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o ppc-obsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    vax)
+		# Host: OpenBSD/vax
+		NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	esac
+	;;
+    obsd64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: OpenBSD/amd64
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o amd64-nat.o \
+		x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	    mips)
+		# Host: OpenBSD/mips64
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o mips64-obsd-nat.o"
+		;;
+	    sparc)
+		# Host: OpenBSD/sparc64
+		NATDEPFILES="${NATDEPFILES} obsd-nat.o sparc64-obsd-nat.o \
+		sparc-nat.o bsd-kvm.o"
+		LOADLIBES='-lkvm'
+		;;
+	esac
+	;;
+    ppc64-linux)
+	case ${gdb_host_cpu} in
+	    powerpc)
+		# Host: PowerPC64, running Linux
+		XM_CLIBS=
+		NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
+		;;
+	esac
+	;;
+    sol2)
+	case ${gdb_host_cpu} in
+	    sparc)
+		# Host: Solaris SPARC & UltraSPARC
+		NAT_FILE='nm-sol2.h'
+		NATDEPFILES='sparc-sol2-nat.o \
+		fork-child.o \
 		procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-	HAVE_NATIVE_GCORE_HOST=1
-	;;
-    esac
-    ;;
-  ia64)
-    case ${gdb_host} in
-      linux)
-	# Host: Intel IA-64 running GNU/Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		ia64-linux-nat.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-personality.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
-  m32r)
-    case ${gdb_host} in
-      linux)
-	# Host: M32R based machine running GNU/Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o				\
-		m32r-linux-nat.o proc-service.o linux-thread-db.o	\
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
-  m68k)
-    case ${gdb_host} in
-      linux)
-	# Host: Motorola m68k running GNU/Linux.
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		m68k-linux-nat.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-personality.o \
-		linux-waitpid.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      nbsdelf)
-	# Host: NetBSD/m68k ELF
-	NATDEPFILES='m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      obsd)
-	# Host: OpenBSD/m68k
-	NATDEPFILES='m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o'
-
-	LOADLIBES='-lkvm'
-	;;
-    esac
-    ;;
-  m88k)
-    case ${gdb_host} in
-      obsd)
-	# Host: OpenBSD/m88k
-	NATDEPFILES='fork-child.o inf-ptrace.o m88k-bsd-nat.o'
-	;;
-    esac
-    ;;
-  mips)
-    case ${gdb_host} in
-      fbsd)
-	# Host: FreeBSD/mips
-	NATDEPFILES='fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o'
-	HAVE_NATIVE_GCORE_HOST=1
-	;;
-      linux)
-	# Host: Linux/MIPS
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o mips-linux-nat.o \
-		linux-thread-db.o proc-service.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-personality.o \
-		mips-linux-watch.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      nbsd)
-	# Host: NetBSD/mips
-	NATDEPFILES='fork-child.o inf-ptrace.o mips-nbsd-nat.o'
-	;;
-      obsd64)
-	# Host: OpenBSD/mips64
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o mips64-obsd-nat.o'
-	;;
-    esac
-    ;;
-  pa)
-    case ${gdb_host} in
-      linux)
-	# Host: Hewlett-Packard PA-RISC machine, running Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		hppa-linux-nat.o proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      nbsd)
-	# Host: NetBSD/hppa
-	NATDEPFILES='fork-child.o inf-ptrace.o nbsd-nat.o hppa-nbsd-nat.o'
-	;;
-      obsd)
-	# Host: OpenBSD/hppa
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o hppa-obsd-nat.o'
-	;;
-    esac
-    ;;
-  powerpc)
-    case ${gdb_host} in
-      aix)
-	# Host: IBM PowerPC running AIX
-	# aix-thread.o is not listed in NATDEPFILES as it is pulled in by configure.
-	NATDEPFILES='fork-child.o inf-ptrace.o rs6000-nat.o'
-
-	# When compiled with cc, for debugging, this argument should be passed.
-	# We have no idea who our current compiler is though, so we skip it.
-	# MH_CFLAGS='-bnodelcsect'
-	;;
-      fbsd)
-	#  Native config information for GDB on PowerPC systems running FreeBSD.
-	NATDEPFILES='fbsd-nat.o fork-child.o inf-ptrace.o ppc-fbsd-nat.o bsd-kvm.o'
-	HAVE_NATIVE_GCORE_HOST=1
-
-	LOADLIBES='-lkvm'
-	;;
-      linux)
-	# Host: PowerPC, running Linux
-	XM_CLIBS=
-
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		ppc-linux-nat.o proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      nbsd)
-	# Host: NetBSD/powerpc
-	NATDEPFILES='fork-child.o inf-ptrace.o ppc-nbsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      obsd)
-	# Host: OpenBSD/powerpc
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o ppc-obsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      ppc64-linux)
-	# Host: PowerPC64, running Linux
-	XM_CLIBS=
-
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		ppc-linux-nat.o proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o ppc-linux.o linux-personality.o \
-		linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      spu-linux)
-	# Target: Cell BE (PowerPC64 + SPU)
-	# This implements a 'pseudo-native' GDB running on the
-	# PPU side of the Cell BE and debugging the SPU side.
-
-	NATDEPFILES='spu-linux-nat.o fork-child.o inf-ptrace.o \
+		HAVE_NATIVE_GCORE_HOST=1
+		;;
+	esac
+	;;
+    sol2-64)
+	case ${gdb_host_cpu} in
+	    i386)
+		# Host: Solaris x86_64
+		NATDEPFILES='fork-child.o amd64-nat.o i386-v4-nat.o i386-sol2-nat.o \
+		procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
+		HAVE_NATIVE_GCORE_HOST=1
+		;;
+	esac
+	;;
+    spu-linux)
+	case ${gdb_host_cpu} in
+	    powerpc)
+		# Target: Cell BE (PowerPC64 + SPU)
+		# This implements a 'pseudo-native' GDB running on the
+		# PPU side of the Cell BE and debugging the SPU side.
+		NAT_FILE=
+		NAT_CDEPS=
+		LOADLIBES=
+		NATDEPFILES='spu-linux-nat.o fork-child.o inf-ptrace.o \
 		      linux-procfs.o linux-ptrace.o linux-waitpid.o \
 		      linux-personality.o linux-namespaces.o'
+		;;
+	esac
 	;;
-    esac
-    ;;
-  s390)
-    case ${gdb_host} in
-      linux)
-	# Host: S390, running Linux
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o s390-linux-nat.o \
-		linux-thread-db.o proc-service.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-personality.o \
-		linux-waitpid.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
-  sh)
-    case ${gdb_host} in
-      nbsd)
-	# Host: NetBSD/sh
-	NATDEPFILES='fork-child.o inf-ptrace.o sh-nbsd-nat.o'
-	;;
-    esac
-    ;;
-  sparc)
-    case ${gdb_host} in
-      fbsd)
-	# Host: FreeBSD/sparc64
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		fbsd-nat.o sparc-nat.o sparc64-nat.o sparc64-fbsd-nat.o \
-		bsd-kvm.o'
-	HAVE_NATIVE_GCORE_HOST=1
-
-	LOADLIBES='-lkvm'
-	;;
-      linux64)
-	# Host: GNU/Linux UltraSPARC
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
-		fork-child.o inf-ptrace.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      linux)
-	# Host: GNU/Linux SPARC
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='sparc-nat.o sparc-linux-nat.o \
-		fork-child.o inf-ptrace.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-      nbsd64)
-	# Host: NetBSD/sparc64
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		sparc64-nbsd-nat.o sparc-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      nbsdelf)
-	# Host: NetBSD/sparc ELF
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		sparc-nat.o sparc-nbsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      obsd64)
-	# Host: OpenBSD/sparc64
-	NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
-		sparc64-obsd-nat.o sparc-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      sol2)
-	# Host: Solaris SPARC & UltraSPARC
-	NAT_FILE='nm-sol2.h'
-	NATDEPFILES='sparc-sol2-nat.o \
-		fork-child.o \
-		procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
-	HAVE_NATIVE_GCORE_HOST=1
-	;;
-    esac
-    ;;
-  tilegx)
-    case ${gdb_host} in
-      linux)
-	# Host: Tilera TILE-Gx running GNU/Linux.
-	NAT_FILE='config/nm-linux.h'
-	NATDEPFILES='inf-ptrace.o fork-child.o \
-		tilegx-linux-nat.o \
-		proc-service.o linux-thread-db.o \
-		linux-nat.o linux-osdata.o linux-fork.o \
-		linux-procfs.o linux-ptrace.o linux-waitpid.o \
-		linux-personality.o linux-namespaces.o'
-
-	# The dynamically loaded libthread_db needs access to symbols in the
-	# gdb executable.
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
-  vax)
-    case ${gdb_host} in
-      nbsdelf)
-	# Host: NetBSD/vax ELF
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		vax-bsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-      obsd)
-	# Host: OpenBSD/vax
-	NATDEPFILES='fork-child.o inf-ptrace.o \
-		vax-bsd-nat.o bsd-kvm.o'
-
-	LOADLIBES='-lkvm'
-	;;
-    esac
-    ;;
-  xtensa)
-    case ${gdb_host} in
-      linux)
-	# Host: Xtensa, running GNU/Linux.
-	NAT_FILE='config/nm-linux.h'
-
-	NATDEPFILES='inf-ptrace.o fork-child.o xtensa-linux-nat.o \
-		linux-thread-db.o proc-service.o \
-		linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
-		linux-waitpid.o linux-personality.o linux-namespaces.o'
-	NAT_CDEPS='$(srcdir)/proc-service.list'
-
-	LOADLIBES='-ldl $(RDYNAMIC)'
-	;;
-    esac
-    ;;
 esac
