From patchwork Fri May 5 04:29:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Durigan Junior X-Patchwork-Id: 20287 Received: (qmail 123045 invoked by alias); 5 May 2017 04:31:31 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 121814 invoked by uid 89); 5 May 2017 04:29:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 05 May 2017 04:29:54 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ADCC3C04B923; Fri, 5 May 2017 04:29:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com ADCC3C04B923 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=sergiodj@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com ADCC3C04B923 Received: from psique.yyz.redhat.com (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by smtp.corp.redhat.com (Postfix) with ESMTP id 372C35DD67; Fri, 5 May 2017 04:29:55 +0000 (UTC) From: Sergio Durigan Junior To: GDB Patches Cc: Pedro Alves , Simon Marchi , John Baldwin , Sergio Durigan Junior Subject: [PATCH v3 2/2] Rearrange gdb/configure.nat to make it simpler and less redundant Date: Fri, 5 May 2017 00:29:51 -0400 Message-Id: <20170505042951.32097-3-sergiodj@redhat.com> In-Reply-To: <20170505042951.32097-1-sergiodj@redhat.com> References: <20170425202309.15771-1-sergiodj@redhat.com> <20170505042951.32097-1-sergiodj@redhat.com> X-IsSubscribed: yes 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 * 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