[v2,2/2] Rearrange gdb/configure.nat to make it simpler and less redundant
Commit Message
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(-)
Comments
On Tuesday, May 02, 2017 11:49:31 PM Sergio Durigan Junior wrote:
> The previous commit introduced gdb/configure.nat, but it was just a
> copy-and-past (with the necessary adjustments) from the files under
> gdb/config/. We can do better than that.
>
> Instead of using one big 'case' statement that matches the
> ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
> remove a lof of redundancy by matching the most common ${gdb_host}'s
> first, setting the common variables for each, and then proceed to
> matching specific ${gdb_host}'s and ${gdb_host_cpu}'s. In other
> words, reverse the order of the 'case's and take advantage of the fact
> that a lot of parameters are the same for each host.
>
> This commit was tested on x86_64 without regressions.
Thanks. Just one minor nit that I see:
> + 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
This seems redundant as it is set in the "global" fbsd section?
> + LOADLIBES=
> + ;;
On Wednesday, May 03 2017, John Baldwin wrote:
> On Tuesday, May 02, 2017 11:49:31 PM Sergio Durigan Junior wrote:
>> The previous commit introduced gdb/configure.nat, but it was just a
>> copy-and-past (with the necessary adjustments) from the files under
>> gdb/config/. We can do better than that.
>>
>> Instead of using one big 'case' statement that matches the
>> ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
>> remove a lof of redundancy by matching the most common ${gdb_host}'s
>> first, setting the common variables for each, and then proceed to
>> matching specific ${gdb_host}'s and ${gdb_host_cpu}'s. In other
>> words, reverse the order of the 'case's and take advantage of the fact
>> that a lot of parameters are the same for each host.
>>
>> This commit was tested on x86_64 without regressions.
>
> Thanks. Just one minor nit that I see:
>
>> + 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
>
> This seems redundant as it is set in the "global" fbsd section?
You're right, John. Fixed in my local tree.
Thanks for the review,
On 05/03/2017 04:49 AM, Sergio Durigan Junior wrote:
> The previous commit introduced gdb/configure.nat, but it was just a
> copy-and-past (with the necessary adjustments) from the files under
> gdb/config/. We can do better than that.
>
> Instead of using one big 'case' statement that matches the
> ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
> remove a lof of redundancy by matching the most common ${gdb_host}'s
> first, setting the common variables for each, and then proceed to
> matching specific ${gdb_host}'s and ${gdb_host_cpu}'s. In other
> words, reverse the order of the 'case's and take advantage of the fact
> that a lot of parameters are the same for each host.
>
> This commit was tested on x86_64 without regressions.
>
> yyyy-mm-dd Sergio Durigan Junior <sergiodj@redhat.com>
>
> * configure.nat: Rearrange 'case' statements to make the code
> simpler and less redundant.
Should probably say instead:
* configure.nat: Rearrange 'case' statements to match
host before cpu.
This one's OK with that and with the nit John pointed out fixed.
Please make sure that a build that _doesn't_ include the
native target still builds before pushing.
Thanks,
Pedro Alves
On Thursday, May 04 2017, Pedro Alves wrote:
> On 05/03/2017 04:49 AM, Sergio Durigan Junior wrote:
>> The previous commit introduced gdb/configure.nat, but it was just a
>> copy-and-past (with the necessary adjustments) from the files under
>> gdb/config/. We can do better than that.
>>
>> Instead of using one big 'case' statement that matches the
>> ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
>> remove a lof of redundancy by matching the most common ${gdb_host}'s
>> first, setting the common variables for each, and then proceed to
>> matching specific ${gdb_host}'s and ${gdb_host_cpu}'s. In other
>> words, reverse the order of the 'case's and take advantage of the fact
>> that a lot of parameters are the same for each host.
>>
>> This commit was tested on x86_64 without regressions.
>>
>> yyyy-mm-dd Sergio Durigan Junior <sergiodj@redhat.com>
>>
>> * configure.nat: Rearrange 'case' statements to make the code
>> simpler and less redundant.
>
> Should probably say instead:
>
> * configure.nat: Rearrange 'case' statements to match
> host before cpu.
>
> This one's OK with that and with the nit John pointed out fixed.
Thanks, I updated the ChangeLog entry accordingly.
> Please make sure that a build that _doesn't_ include the
> native target still builds before pushing.
Tested compiling with --enable-targets=aarch64-unknown-linux and it
worked as expected.
Thanks,
@@ -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