diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index b865b7c..90f8dc6 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -902,9 +902,21 @@ ALL_TARGET_OBS = \
 	xtensa-linux-tdep.o \
 	xtensa-tdep.o
 
-# Host-dependent makefile fragment comes in here.
-@host_makefile_frag@
-# End of host-dependent makefile fragment
+# The following native-target dependent variables are defined on
+# configure.nat.
+NAT_FILE = @NAT_FILE@
+NATDEPFILES = @NATDEPFILES@
+NAT_CDEPS = @NAT_CDEPS@
+LOADLIBES = @LOADLIBES@
+MH_CFLAGS = @MH_CFLAGS@
+XM_CLIBS = @XM_CLIBS@
+NAT_GENERATED_FILES = @NAT_GENERATED_FILES@
+HAVE_NATIVE_GCORE_HOST = @HAVE_NATIVE_GCORE_HOST@
+
+# Native-target dependent makefile fragment comes in here.
+@nat_extra_makefile_frag@
+
+# End of native-target dependent variables.
 
 FLAGS_TO_PASS = \
 	"prefix=$(prefix)" \
@@ -2315,21 +2327,21 @@ subdir_do: force
 		else true ; fi ; \
 	done
 
-Makefile: Makefile.in config.status @frags@
+Makefile: Makefile.in config.status
 	# Regenerate the Makefile and the tm.h / nm.h links.
 	CONFIG_FILES="Makefile" \
 	  CONFIG_COMMANDS= \
 	  CONFIG_HEADERS= \
 	  $(SHELL) config.status
 
-$(GNULIB_BUILDDIR)/Makefile: gnulib/Makefile.in config.status @frags@
+$(GNULIB_BUILDDIR)/Makefile: gnulib/Makefile.in config.status
 	@cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
 	  CONFIG_COMMANDS="depfiles" \
 	  CONFIG_HEADERS= \
 	  CONFIG_LINKS= \
 	  $(SHELL) config.status
 
-data-directory/Makefile: data-directory/Makefile.in config.status @frags@
+data-directory/Makefile: data-directory/Makefile.in config.status
 	CONFIG_FILES="data-directory/Makefile" \
 	  CONFIG_COMMANDS="depfiles" \
 	  CONFIG_HEADERS= \
diff --git a/gdb/config/aarch64/linux.mh b/gdb/config/aarch64/linux.mh
deleted file mode 100644
index d184a79..0000000
--- a/gdb/config/aarch64/linux.mh
+++ /dev/null
@@ -1,29 +0,0 @@
-#  Host: AArch64 based machine running GNU/Linux
-#
-#  Copyright (C) 2013-2017 Free Software Foundation, Inc.
-#  Contributed by ARM Ltd.
-#
-#  This file is part of GDB.
-#
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 3 of the License, or
-#  (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-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)
diff --git a/gdb/config/alpha/alpha-linux.mh b/gdb/config/alpha/alpha-linux.mh
deleted file mode 100644
index 4991dd2..0000000
--- a/gdb/config/alpha/alpha-linux.mh
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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
-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
diff --git a/gdb/config/alpha/nbsd.mh b/gdb/config/alpha/nbsd.mh
deleted file mode 100644
index a46739e..0000000
--- a/gdb/config/alpha/nbsd.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: NetBSD/alpha
-NATDEPFILES= fork-child.o inf-ptrace.o alpha-bsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/arm/linux.mh b/gdb/config/arm/linux.mh
deleted file mode 100644
index 003ca1f..0000000
--- a/gdb/config/arm/linux.mh
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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)
diff --git a/gdb/config/arm/nbsdelf.mh b/gdb/config/arm/nbsdelf.mh
deleted file mode 100644
index 042b583..0000000
--- a/gdb/config/arm/nbsdelf.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: NetBSD/arm
-NATDEPFILES= fork-child.o inf-ptrace.o arm-nbsd-nat.o
diff --git a/gdb/config/i386/cygwin.mh b/gdb/config/i386/cygwin.mh
deleted file mode 100644
index 09bee12..0000000
--- a/gdb/config/i386/cygwin.mh
+++ /dev/null
@@ -1,3 +0,0 @@
-MH_CFLAGS=
-NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o
-XM_CLIBS=
diff --git a/gdb/config/i386/cygwin64.mh b/gdb/config/i386/cygwin64.mh
deleted file mode 100644
index 4f70adc..0000000
--- a/gdb/config/i386/cygwin64.mh
+++ /dev/null
@@ -1,20 +0,0 @@
-#  Native config information for GDB on PowerPC systems running FreeBSD.
-#
-#  Copyright (C) 2013-2017 Free Software Foundation, Inc.
-#
-#  This file is part of GDB.
-#
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 3 of the License, or
-#  (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o
diff --git a/gdb/config/i386/darwin.mh b/gdb/config/i386/darwin.mh
deleted file mode 100644
index 16c1558..0000000
--- a/gdb/config/i386/darwin.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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
diff --git a/gdb/config/i386/fbsd.mh b/gdb/config/i386/fbsd.mh
deleted file mode 100644
index 69e0a8b..0000000
--- a/gdb/config/i386/fbsd.mh
+++ /dev/null
@@ -1,8 +0,0 @@
-# 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
diff --git a/gdb/config/i386/fbsd64.mh b/gdb/config/i386/fbsd64.mh
deleted file mode 100644
index 461ff9a..0000000
--- a/gdb/config/i386/fbsd64.mh
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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
diff --git a/gdb/config/i386/go32.mh b/gdb/config/i386/go32.mh
deleted file mode 100644
index f1edfad..0000000
--- a/gdb/config/i386/go32.mh
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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
-
-HOST_IPC=
-XM_CLIBS= -ldbg
-
-
diff --git a/gdb/config/i386/i386gnu.mh b/gdb/config/i386/i386gnu-extra.mh
similarity index 67%
rename from gdb/config/i386/i386gnu.mh
rename to gdb/config/i386/i386gnu-extra.mh
index 070497f..93016ff 100644
--- a/gdb/config/i386/i386gnu.mh
+++ b/gdb/config/i386/i386gnu-extra.mh
@@ -1,15 +1,3 @@
-# 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
-
-NAT_FILE= nm-i386gnu.h
-MH_CFLAGS = -D_GNU_SOURCE
-
-XM_CLIBS = -lshouldbeinlibc
-
 # Use our own user stubs for the msg rpcs, so we can make them time out, in
 # case the program is fucked, or we guess the wrong signal thread.
 msg-MIGUFLAGS = -D'MSG_IMPORTS=waittime 1000;'
@@ -33,9 +21,9 @@ MIGCOM = $(MIG) -cc cat - /dev/null
 	| $(MIGCOM) -sheader /dev/null -server /dev/null -user $*_U.c -header $*_U.h
 
 # MIG stubs are not yet ready for C++ compilation.
-%_S.o %_U.o : COMPILE.post += -x c
+%_S.o %_U.o : COMPILE.post +=-x c
 
 NAT_GENERATED_FILES = notify_S.h notify_S.c \
-	process_reply_S.h process_reply_S.c \
-	msg_reply_S.h msg_reply_S.c msg_U.h msg_U.c \
-	exc_request_U.h exc_request_U.c exc_request_S.h exc_request_S.c
+		process_reply_S.h process_reply_S.c \
+		msg_reply_S.h msg_reply_S.c msg_U.h msg_U.c \
+		exc_request_U.h exc_request_U.c exc_request_S.h exc_request_S.c
diff --git a/gdb/config/i386/i386sol2.mh b/gdb/config/i386/i386sol2.mh
deleted file mode 100644
index 787a3c1..0000000
--- a/gdb/config/i386/i386sol2.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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
diff --git a/gdb/config/i386/linux.mh b/gdb/config/i386/linux.mh
deleted file mode 100644
index 421c56f..0000000
--- a/gdb/config/i386/linux.mh
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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)
diff --git a/gdb/config/i386/linux64.mh b/gdb/config/i386/linux64.mh
deleted file mode 100644
index 42d8df5..0000000
--- a/gdb/config/i386/linux64.mh
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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)
diff --git a/gdb/config/i386/mingw.mh b/gdb/config/i386/mingw.mh
deleted file mode 100644
index 09bee12..0000000
--- a/gdb/config/i386/mingw.mh
+++ /dev/null
@@ -1,3 +0,0 @@
-MH_CFLAGS=
-NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o
-XM_CLIBS=
diff --git a/gdb/config/i386/mingw64.mh b/gdb/config/i386/mingw64.mh
deleted file mode 100644
index 0ee2e2c..0000000
--- a/gdb/config/i386/mingw64.mh
+++ /dev/null
@@ -1 +0,0 @@
-NATDEPFILES= x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o
diff --git a/gdb/config/i386/nbsd64.mh b/gdb/config/i386/nbsd64.mh
deleted file mode 100644
index 91d21f3..0000000
--- a/gdb/config/i386/nbsd64.mh
+++ /dev/null
@@ -1,3 +0,0 @@
-# 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
diff --git a/gdb/config/i386/nbsdelf.mh b/gdb/config/i386/nbsdelf.mh
deleted file mode 100644
index 5954b3f..0000000
--- a/gdb/config/i386/nbsdelf.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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
diff --git a/gdb/config/i386/nto.mh b/gdb/config/i386/nto.mh
deleted file mode 100644
index b9e2f84..0000000
--- a/gdb/config/i386/nto.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: Intel 386 running QNX.
-
-NATDEPFILES= nto-procfs.o
-NAT_FILE= config/nm-nto.h
diff --git a/gdb/config/i386/obsd.mh b/gdb/config/i386/obsd.mh
deleted file mode 100644
index fac7282..0000000
--- a/gdb/config/i386/obsd.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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
diff --git a/gdb/config/i386/obsd64.mh b/gdb/config/i386/obsd64.mh
deleted file mode 100644
index 51deea7..0000000
--- a/gdb/config/i386/obsd64.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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
diff --git a/gdb/config/i386/sol2-64.mh b/gdb/config/i386/sol2-64.mh
deleted file mode 100644
index 7a3ab73..0000000
--- a/gdb/config/i386/sol2-64.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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
diff --git a/gdb/config/ia64/linux.mh b/gdb/config/ia64/linux.mh
deleted file mode 100644
index b05f834..0000000
--- a/gdb/config/ia64/linux.mh
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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)
diff --git a/gdb/config/m32r/linux.mh b/gdb/config/m32r/linux.mh
deleted file mode 100644
index 277d8bd..0000000
--- a/gdb/config/m32r/linux.mh
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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)
diff --git a/gdb/config/m68k/linux.mh b/gdb/config/m68k/linux.mh
deleted file mode 100644
index 7c1f4ac..0000000
--- a/gdb/config/m68k/linux.mh
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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)
diff --git a/gdb/config/m68k/nbsdelf.mh b/gdb/config/m68k/nbsdelf.mh
deleted file mode 100644
index 1d00cbc..0000000
--- a/gdb/config/m68k/nbsdelf.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: NetBSD/m68k ELF
-NATDEPFILES= m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/m68k/obsd.mh b/gdb/config/m68k/obsd.mh
deleted file mode 100644
index 902a24b..0000000
--- a/gdb/config/m68k/obsd.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: OpenBSD/m68k
-NATDEPFILES= m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/m88k/obsd.mh b/gdb/config/m88k/obsd.mh
deleted file mode 100644
index 3c4d8d5..0000000
--- a/gdb/config/m88k/obsd.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: OpenBSD/m88k
-NATDEPFILES= fork-child.o inf-ptrace.o m88k-bsd-nat.o
diff --git a/gdb/config/mips/fbsd.mh b/gdb/config/mips/fbsd.mh
deleted file mode 100644
index f433347..0000000
--- a/gdb/config/mips/fbsd.mh
+++ /dev/null
@@ -1,3 +0,0 @@
-# Host: FreeBSD/mips
-NATDEPFILES= fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o
-HAVE_NATIVE_GCORE_HOST = 1
diff --git a/gdb/config/mips/linux.mh b/gdb/config/mips/linux.mh
deleted file mode 100644
index 11ff903..0000000
--- a/gdb/config/mips/linux.mh
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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)
diff --git a/gdb/config/mips/nbsd.mh b/gdb/config/mips/nbsd.mh
deleted file mode 100644
index a80da95..0000000
--- a/gdb/config/mips/nbsd.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: NetBSD/mips
-NATDEPFILES= fork-child.o inf-ptrace.o mips-nbsd-nat.o
diff --git a/gdb/config/mips/obsd64.mh b/gdb/config/mips/obsd64.mh
deleted file mode 100644
index 6aeac34..0000000
--- a/gdb/config/mips/obsd64.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: OpenBSD/mips64
-NATDEPFILES= fork-child.o inf-ptrace.o obsd-nat.o mips64-obsd-nat.o
diff --git a/gdb/config/pa/linux.mh b/gdb/config/pa/linux.mh
deleted file mode 100644
index 1b73ecd..0000000
--- a/gdb/config/pa/linux.mh
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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)
diff --git a/gdb/config/pa/nbsd.mh b/gdb/config/pa/nbsd.mh
deleted file mode 100644
index 791cd9f..0000000
--- a/gdb/config/pa/nbsd.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: NetBSD/hppa
-NATDEPFILES= fork-child.o inf-ptrace.o nbsd-nat.o hppa-nbsd-nat.o
diff --git a/gdb/config/pa/obsd.mh b/gdb/config/pa/obsd.mh
deleted file mode 100644
index 95dd416..0000000
--- a/gdb/config/pa/obsd.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: OpenBSD/hppa
-NATDEPFILES= fork-child.o inf-ptrace.o obsd-nat.o hppa-obsd-nat.o
diff --git a/gdb/config/powerpc/aix.mh b/gdb/config/powerpc/aix.mh
deleted file mode 100644
index 141501d..0000000
--- a/gdb/config/powerpc/aix.mh
+++ /dev/null
@@ -1,8 +0,0 @@
-# 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
diff --git a/gdb/config/powerpc/fbsd.mh b/gdb/config/powerpc/fbsd.mh
deleted file mode 100644
index 9c2e6b4..0000000
--- a/gdb/config/powerpc/fbsd.mh
+++ /dev/null
@@ -1,24 +0,0 @@
-#  Native config information for GDB on PowerPC systems running FreeBSD.
-#
-#  Copyright (C) 2013-2017 Free Software Foundation, Inc.
-#
-#  This file is part of GDB.
-#
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 3 of the License, or
-#  (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-NATDEPFILES= fbsd-nat.o fork-child.o inf-ptrace.o ppc-fbsd-nat.o bsd-kvm.o
-HAVE_NATIVE_GCORE_HOST = 1
-
-LOADLIBES= -lkvm
-
diff --git a/gdb/config/powerpc/linux.mh b/gdb/config/powerpc/linux.mh
deleted file mode 100644
index f4a52c3..0000000
--- a/gdb/config/powerpc/linux.mh
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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)
diff --git a/gdb/config/powerpc/nbsd.mh b/gdb/config/powerpc/nbsd.mh
deleted file mode 100644
index f02a0f9..0000000
--- a/gdb/config/powerpc/nbsd.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: NetBSD/powerpc
-NATDEPFILES= fork-child.o inf-ptrace.o ppc-nbsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/powerpc/obsd.mh b/gdb/config/powerpc/obsd.mh
deleted file mode 100644
index 3743254..0000000
--- a/gdb/config/powerpc/obsd.mh
+++ /dev/null
@@ -1,4 +0,0 @@
-# Host: OpenBSD/powerpc
-NATDEPFILES= fork-child.o inf-ptrace.o obsd-nat.o ppc-obsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/powerpc/ppc64-linux.mh b/gdb/config/powerpc/ppc64-linux.mh
deleted file mode 100644
index 8681d00..0000000
--- a/gdb/config/powerpc/ppc64-linux.mh
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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)
diff --git a/gdb/config/powerpc/spu-linux.mh b/gdb/config/powerpc/spu-linux.mh
deleted file mode 100644
index 9205b62..0000000
--- a/gdb/config/powerpc/spu-linux.mh
+++ /dev/null
@@ -1,8 +0,0 @@
-# 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 \
-	      linux-procfs.o linux-ptrace.o linux-waitpid.o \
-	      linux-personality.o linux-namespaces.o
diff --git a/gdb/config/s390/linux.mh b/gdb/config/s390/linux.mh
deleted file mode 100644
index 4a137cd..0000000
--- a/gdb/config/s390/linux.mh
+++ /dev/null
@@ -1,9 +0,0 @@
-# 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)
diff --git a/gdb/config/sh/nbsd.mh b/gdb/config/sh/nbsd.mh
deleted file mode 100644
index 14d7e8c..0000000
--- a/gdb/config/sh/nbsd.mh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Host: NetBSD/sh
-NATDEPFILES= fork-child.o inf-ptrace.o sh-nbsd-nat.o
diff --git a/gdb/config/sparc/fbsd.mh b/gdb/config/sparc/fbsd.mh
deleted file mode 100644
index bdc272c..0000000
--- a/gdb/config/sparc/fbsd.mh
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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
diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh
deleted file mode 100644
index 385f640..0000000
--- a/gdb/config/sparc/linux.mh
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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)
diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh
deleted file mode 100644
index 8df0de1..0000000
--- a/gdb/config/sparc/linux64.mh
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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)
diff --git a/gdb/config/sparc/nbsd64.mh b/gdb/config/sparc/nbsd64.mh
deleted file mode 100644
index aa15b1d..0000000
--- a/gdb/config/sparc/nbsd64.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# Host: NetBSD/sparc64
-NATDEPFILES= fork-child.o inf-ptrace.o \
-	sparc64-nbsd-nat.o sparc-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/sparc/nbsdelf.mh b/gdb/config/sparc/nbsdelf.mh
deleted file mode 100644
index 97d07b3..0000000
--- a/gdb/config/sparc/nbsdelf.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# Host: NetBSD/sparc ELF
-NATDEPFILES= fork-child.o inf-ptrace.o \
-	sparc-nat.o sparc-nbsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/sparc/obsd64.mh b/gdb/config/sparc/obsd64.mh
deleted file mode 100644
index e9f2fb9..0000000
--- a/gdb/config/sparc/obsd64.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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
diff --git a/gdb/config/sparc/sol2.mh b/gdb/config/sparc/sol2.mh
deleted file mode 100644
index 220c61f..0000000
--- a/gdb/config/sparc/sol2.mh
+++ /dev/null
@@ -1,6 +0,0 @@
-# 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
diff --git a/gdb/config/tilegx/linux.mh b/gdb/config/tilegx/linux.mh
deleted file mode 100644
index ec648d3..0000000
--- a/gdb/config/tilegx/linux.mh
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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)
diff --git a/gdb/config/vax/nbsdelf.mh b/gdb/config/vax/nbsdelf.mh
deleted file mode 100644
index bf0f0b9..0000000
--- a/gdb/config/vax/nbsdelf.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# Host: NetBSD/vax ELF
-NATDEPFILES= fork-child.o inf-ptrace.o \
-	vax-bsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/vax/obsd.mh b/gdb/config/vax/obsd.mh
deleted file mode 100644
index cef99d3..0000000
--- a/gdb/config/vax/obsd.mh
+++ /dev/null
@@ -1,5 +0,0 @@
-# Host: OpenBSD/vax
-NATDEPFILES= fork-child.o inf-ptrace.o \
-	vax-bsd-nat.o bsd-kvm.o
-
-LOADLIBES= -lkvm
diff --git a/gdb/config/xtensa/linux.mh b/gdb/config/xtensa/linux.mh
deleted file mode 100644
index d5b8f91..0000000
--- a/gdb/config/xtensa/linux.mh
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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)
diff --git a/gdb/configure b/gdb/configure
index 9f05b4b..bbebe3a 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -598,7 +598,14 @@ GDB_NM_FILE
 LTLIBBABELTRACE
 LIBBABELTRACE
 HAVE_LIBBABELTRACE
-frags
+HAVE_NATIVE_GCORE_HOST
+NAT_GENERATED_FILES
+XM_CLIBS
+MH_CFLAGS
+LOADLIBES
+NAT_CDEPS
+NATDEPFILES
+NAT_FILE
 target_subdir
 CONFIG_UNINSTALL
 CONFIG_INSTALL
@@ -799,7 +806,7 @@ PACKAGE_TARNAME
 PACKAGE_NAME
 PATH_SEPARATOR
 SHELL'
-ac_subst_files='host_makefile_frag'
+ac_subst_files='nat_extra_makefile_frag'
 ac_user_opts='
 enable_option_checking
 enable_maintainer_mode
@@ -16724,27 +16731,21 @@ if test "${host}" != "${target}"; then
 fi
 
 
-frags=
+# Import nat definitions.
+nat_extra_makefile_frag=/dev/null
 if test "${gdb_native}" = "yes"; then
-  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
-  if test ! -f ${host_makefile_frag}; then
-    as_fn_error "\"*** Gdb does not support native target ${host}\"" "$LINENO" 5
-  fi
-  frags="$frags $host_makefile_frag"
-else
-  host_makefile_frag=/dev/null
+  . ${srcdir}/configure.nat
+  nativefile=$NAT_FILE
 fi
 
 
 
 
-if test "${gdb_native}" = "yes"; then
-# We pick this up from the host configuration file (.mh) because we
-# do not have a native configuration Makefile fragment.
-nativefile=`sed -n '
-s/NAT_FILE[ 	]*=[ 	]*\([^ 	]*\)/\1/p
-' ${host_makefile_frag}`
-fi
+
+
+
+
+
 
 
 if test x"${gdb_osabi}" != x ; then
@@ -17315,8 +17316,8 @@ $as_echo "$as_me: WARNING: babeltrace is missing or unusable; GDB is unable to r
   fi
 fi
 
-# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
-# to an empty version.
+# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
+# empty version.
 
 files=
 links=
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 50f6f59..05ea0c0 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2199,29 +2199,22 @@ if test "${host}" != "${target}"; then
 fi
 AC_SUBST(target_subdir)
 
-frags=
+# Import nat definitions.
+nat_extra_makefile_frag=/dev/null
 if test "${gdb_native}" = "yes"; then
-  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
-  if test ! -f ${host_makefile_frag}; then
-    AC_MSG_ERROR("*** Gdb does not support native target ${host}")
-  fi
-  frags="$frags $host_makefile_frag"
-else
-  host_makefile_frag=/dev/null
+  . ${srcdir}/configure.nat
+  nativefile=$NAT_FILE
 fi
 
-AC_SUBST_FILE(host_makefile_frag)
-AC_SUBST(frags)
-
-changequote(,)dnl
-if test "${gdb_native}" = "yes"; then
-# We pick this up from the host configuration file (.mh) because we
-# do not have a native configuration Makefile fragment.
-nativefile=`sed -n '
-s/NAT_FILE[ 	]*=[ 	]*\([^ 	]*\)/\1/p
-' ${host_makefile_frag}`
-fi
-changequote([,])
+AC_SUBST(NAT_FILE)
+AC_SUBST(NATDEPFILES)
+AC_SUBST(NAT_CDEPS)
+AC_SUBST(LOADLIBES)
+AC_SUBST(MH_CFLAGS)
+AC_SUBST(XM_CLIBS)
+AC_SUBST(NAT_GENERATED_FILES)
+AC_SUBST(HAVE_NATIVE_GCORE_HOST)
+AC_SUBST_FILE(nat_extra_makefile_frag)
 
 if test x"${gdb_osabi}" != x ; then
     AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
@@ -2310,8 +2303,8 @@ else
   fi
 fi
 
-# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
-# to an empty version.
+# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
+# empty version.
 
 files=
 links=
diff --git a/gdb/configure.nat b/gdb/configure.nat
new file mode 100644
index 0000000..c0ac811
--- /dev/null
+++ b/gdb/configure.nat
@@ -0,0 +1,602 @@
+# ; -*- mode: sh ; -*-
+# Copyright (C) 2013-2017 Free Software Foundation, Inc.
+#
+# This file is part of GDB.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Variables defined here:
+#
+# NAT_FILE - The header file with definitions for this native target.
+#
+# NATDEPFILES - Source files required for native debugging on this
+#               native target.
+#
+# NAT_CDEPS - Dynamic symbols to be exported for libthread_db.
+#
+# LOADLIBES - Libraries against which GDB will be linked for this
+#             native target.
+#
+# MH_CFLAGS - Additional CFLAGS for this host.
+#
+# XM_CLIBS - Host-dependent libraries against which GDB will be linked
+#            for this native target.
+#
+# HAVE_NATIVE_GCORE_HOST - Whether gcore should be installed on this
+#                          native target.
+#
+# nat_extra_makefile_frag - File containing extra fragments of
+#                           Makefile that will be used by this native
+#                           target.
+#
+# Notes:
+#
+# - To avoid shell expansion of variables, declare them with single
+#   quotes.
+#
+# - 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
+	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'
+	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'
+
+	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)'
+	;;
+      nbsdelf)
+	# Host: NetBSD/arm
+	NATDEPFILES='fork-child.o inf-ptrace.o arm-nbsd-nat.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)
+	MH_CFLAGS=
+	NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o'
+	XM_CLIBS=
+	;;
+      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'
+
+	XM_CLIBS='-ldbg'
+	;;
+      i386gnu)
+	# 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
+
+	NAT_FILE='nm-i386gnu.h'
+	MH_CFLAGS='-D_GNU_SOURCE'
+
+	XM_CLIBS='-lshouldbeinlibc'
+
+	nat_extra_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu-extra.mh"
+	;;
+      i386sol2)
+	# 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 \
+		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 \
+		      linux-procfs.o linux-ptrace.o linux-waitpid.o \
+		      linux-personality.o linux-namespaces.o'
+	;;
+    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
diff --git a/gdb/doc/Makefile.in b/gdb/doc/Makefile.in
index 5a58fa7..e0e50c1 100644
--- a/gdb/doc/Makefile.in
+++ b/gdb/doc/Makefile.in
@@ -178,9 +178,6 @@ MAN1S = gdb.1 gdbserver.1 gcore.1
 MAN5S = gdbinit.5
 MANS = $(MAN1S) $(MAN5S)
 
-# Host-dependent makefile fragment comes in here.
-@host_makefile_frag@
-# End of host-dependent makefile fragment
 HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
 
 ###
