[v3,2/2] Rearrange gdb/configure.nat to make it simpler and less redundant

Message ID 20170505042951.32097-3-sergiodj@redhat.com
State New, archived
Headers

Commit Message

Sergio Durigan Junior May 5, 2017, 4:29 a.m. UTC
  The previous commit introduced gdb/configure.nat, but it was just a
copy-and-past (with the necessary adjustments) from the files under
gdb/config/.  We can do better than that.

Instead of using one big 'case' statement that matches the
${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
remove a lof of redundancy by matching the most common ${gdb_host}'s
first, setting the common variables for each, and then proceed to
matching specific ${gdb_host}'s and ${gdb_host_cpu}'s.  In other
words, reverse the order of the 'case's and take advantage of the fact
that a lot of parameters are the same for each host.

This commit was tested on x86_64 without regressions.

gdb/ChangeLog:
yyyy-mm-dd  Sergio Durigan Junior  <sergiodj@redhat.com>

 	* configure.nat: Rearrange 'case' statements to match
	host before cpu.
---
 gdb/configure.nat | 938 ++++++++++++++++++++++++------------------------------
 1 file changed, 410 insertions(+), 528 deletions(-)
  

Comments

Sergio Durigan Junior May 6, 2017, 2:13 p.m. UTC | #1
On Friday, May 05 2017, I wrote:

> The previous commit introduced gdb/configure.nat, but it was just a
> copy-and-past (with the necessary adjustments) from the files under
> gdb/config/.  We can do better than that.
>
> Instead of using one big 'case' statement that matches the
> ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
> remove a lof of redundancy by matching the most common ${gdb_host}'s
> first, setting the common variables for each, and then proceed to
> matching specific ${gdb_host}'s and ${gdb_host_cpu}'s.  In other
> words, reverse the order of the 'case's and take advantage of the fact
> that a lot of parameters are the same for each host.
>
> This commit was tested on x86_64 without regressions.
>
> gdb/ChangeLog:
> yyyy-mm-dd  Sergio Durigan Junior  <sergiodj@redhat.com>
>
>  	* configure.nat: Rearrange 'case' statements to match
> 	host before cpu.
> ---
>  gdb/configure.nat | 938 ++++++++++++++++++++++++------------------------------
>  1 file changed, 410 insertions(+), 528 deletions(-)
>
> 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
> -- 
> 2.9.3

Pushed.

e50f25ecdb24505bccb695e6c63add45f0032b9a
  

Patch

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