Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: GDB Patches <gdb-patches@sourceware.org>
Cc: Pedro Alves <palves@redhat.com>,
	Simon Marchi <simon.marchi@polymtl.ca>,
	John Baldwin <jhb@freebsd.org>,
	Sergio Durigan Junior <sergiodj@redhat.com>
Subject: [PATCH v2 2/2] Rearrange gdb/configure.nat to make it simpler and less redundant
Date: Wed, 03 May 2017 03:49:00 -0000	[thread overview]
Message-ID: <20170503034931.4515-3-sergiodj@redhat.com> (raw)
In-Reply-To: <20170503034931.4515-1-sergiodj@redhat.com>

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.

yyyy-mm-dd  Sergio Durigan Junior  <sergiodj@redhat.com>

	* configure.nat: Rearrange 'case' statements to make the code
          simpler and less redundant.
---
 gdb/configure.nat | 943 ++++++++++++++++++++++++------------------------------
 1 file changed, 413 insertions(+), 530 deletions(-)

diff --git a/gdb/configure.nat b/gdb/configure.nat
index a634031..32ae9b5 100644
--- a/gdb/configure.nat
+++ b/gdb/configure.nat
@@ -49,560 +49,443 @@
 # - NAT_EXTRA_FRAGS_FILE 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"
+		HAVE_NATIVE_GCORE_HOST=1
+		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_FRAGS_FILE="${srcdir}/config/${gdb_host_cpu}/i386gnu-extra.mh"
+		NAT_EXTRA_FRAGS_FILE="${srcdir}/config/${gdb_host_cpu}/i386gnu-extra.mh"
 
-	NAT_GENERATED_FILES='notify_S.h notify_S.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'
-	;;
-      i386sol2)
-	# Host: Solaris x86
-	NATDEPFILES='fork-child.o i386-v4-nat.o i386-sol2-nat.o \
+		;;
+	esac
+	;;
+    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


  parent reply	other threads:[~2017-05-03  3:49 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-25 20:23 [PATCH] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files) Sergio Durigan Junior
2017-04-25 21:08 ` John Baldwin
2017-05-01 18:45 ` Sergio Durigan Junior
2017-05-02  2:44 ` Simon Marchi
2017-05-02 14:57   ` John Baldwin
2017-05-02 17:01     ` Simon Marchi
2017-05-02 19:28   ` Sergio Durigan Junior
2017-05-02 20:16     ` Simon Marchi
2017-05-02 21:30       ` Pedro Alves
2017-05-02 22:17       ` Sergio Durigan Junior
2017-05-03  3:49 ` [PATCH v2 0/2] Introduce gdb/configure.nat Sergio Durigan Junior
2017-05-03  3:49   ` [PATCH v2 1/2] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files) Sergio Durigan Junior
2017-05-04 16:16     ` Pedro Alves
2017-05-05  3:58       ` Sergio Durigan Junior
2017-05-05  9:41         ` Pedro Alves
2017-05-06 14:04           ` Sergio Durigan Junior
2017-05-17 14:03             ` Pedro Alves
2017-05-03  3:49   ` Sergio Durigan Junior [this message]
2017-05-03 16:45     ` [PATCH v2 2/2] Rearrange gdb/configure.nat to make it simpler and less redundant John Baldwin
2017-05-03 17:28       ` Sergio Durigan Junior
2017-05-04 16:34     ` Pedro Alves
2017-05-05  4:23       ` Sergio Durigan Junior
2017-05-05  4:31 ` [PATCH v3 0/2] Introduce gdb/configure.nat Sergio Durigan Junior
2017-05-05  4:31   ` [PATCH v3 2/2] Rearrange gdb/configure.nat to make it simpler and less redundant Sergio Durigan Junior
2017-05-06 14:13     ` Sergio Durigan Junior
2017-05-05  4:32   ` [PATCH v3 1/2] Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files) Sergio Durigan Junior
2017-05-05 16:35     ` Pedro Alves
2017-05-06 14:13       ` Sergio Durigan Junior
2017-05-17 13:22         ` Pedro Alves
2017-05-23 14:40           ` Sergio Durigan Junior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170503034931.4515-3-sergiodj@redhat.com \
    --to=sergiodj@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jhb@freebsd.org \
    --cc=palves@redhat.com \
    --cc=simon.marchi@polymtl.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox