From 73b209161cbc040be44c2b39b31f3fa1b71afbe7 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Mon, 18 Aug 2003 18:10:53 +0000 Subject: [PATCH] * configure.host: Add x86_64-*-freebsd*. * configure.tgt: Add x86_64-*-freebsd*. * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets. * x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end, amd64fbsd_sc_reg_offset): Add extern declarations. (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM, X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM, X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM): Moved here ... * x86-64-tdep.c: ... from here. * amd64fbsd-nat.c: New file. * amd64fbsd-tdep.c: New file. * config/i386/nm-fbsd64.h: New file. * config/i386/fbsd64.mh: New file. * config/i386/fbsd64.mt: New file. --- gdb/ChangeLog | 18 ++++++++++++++++++ gdb/Makefile.in | 5 +++++ gdb/configure.host | 1 + gdb/configure.tgt | 2 ++ gdb/x86-64-tdep.c | 13 +------------ gdb/x86-64-tdep.h | 19 +++++++++++++++++++ 6 files changed, 46 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8a0467ef0d5..3004a20d065 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,21 @@ +2003-08-18 Mark Kettenis + + * configure.host: Add x86_64-*-freebsd*. + * configure.tgt: Add x86_64-*-freebsd*. + * Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets. + * x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end, + amd64fbsd_sc_reg_offset): Add extern declarations. + (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM, + X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM, + X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM, + X86_64_XMM1_REGNUM): Moved here ... + * x86-64-tdep.c: ... from here. + * amd64fbsd-nat.c: New file. + * amd64fbsd-tdep.c: New file. + * config/i386/nm-fbsd64.h: New file. + * config/i386/fbsd64.mh: New file. + * config/i386/fbsd64.mt: New file. + 2003-08-18 Mark Kettenis * i386-tdep.c (i386_analyze_register_saves): Handle register saves diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 4d8027604bc..93073190bca 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1535,6 +1535,11 @@ alpha-tdep.o: alpha-tdep.c $(defs_h) $(doublest_h) $(frame_h) \ $(symfile_h) $(objfiles_h) $(gdb_string_h) $(linespec_h) \ $(regcache_h) $(reggroups_h) $(arch_utils_h) $(osabi_h) $(block_h) \ $(elf_bfd_h) $(alpha_tdep_h) +amd64fbsd-nat.o: amd64fbsd-nat.o $(defs_h) $(inferior_h) $(regcache_h) \ + $(gdb_assert_h) $(gregset_h) $(x86_64_tdep_h) +amd64fbsd-tdep.o: amd64fbsd-tdep.o $(defs_h) $(arch_utils_h) $(frame_h) \ + $(gdbcore_h) $(regcache_h) $(osabi_h) $(gdb_string_h) \ + $(x86_64_tdep_h) annotate.o: annotate.c $(defs_h) $(annotate_h) $(value_h) $(target_h) \ $(gdbtypes_h) $(breakpoint_h) arch-utils.o: arch-utils.c $(defs_h) $(arch_utils_h) $(gdbcmd_h) \ diff --git a/gdb/configure.host b/gdb/configure.host index 0c88533f785..3040861c177 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -150,5 +150,6 @@ vax-*-ultrix2*) gdb_host=vaxult2 ;; vax-*-ultrix*) gdb_host=vaxult ;; x86_64-*-linux*) gdb_host=x86-64linux ;; +x86_64-*-freebsd*) gdb_host=fbsd64 ;; esac diff --git a/gdb/configure.tgt b/gdb/configure.tgt index 90e67810b73..39c2cae9e70 100644 --- a/gdb/configure.tgt +++ b/gdb/configure.tgt @@ -37,6 +37,7 @@ esac case "${target}" in +x86_64-*-freebsd*) gdb_target=fbsd64 ;; *-*-freebsd*) gdb_target=fbsd ;; @@ -265,6 +266,7 @@ esac case "${gdb_target}" in d10v) gdb_multi_arch=yes ;; m32r) gdb_multi_arch=yes ;; +fbsd64) gdb_multi_arch=yes ;; m68hc11) gdb_multi_arch=yes ;; mn10300) gdb_multi_arch=yes ;; x86-64linux) gdb_multi_arch=yes ;; diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c index 1d960a022f5..10b2e328e2e 100644 --- a/gdb/x86-64-tdep.c +++ b/gdb/x86-64-tdep.c @@ -39,18 +39,7 @@ #include "x86-64-tdep.h" #include "i387-tdep.h" -/* Register numbers of various important registers. */ - -#define X86_64_RAX_REGNUM 0 /* %rax */ -#define X86_64_RDX_REGNUM 3 /* %rdx */ -#define X86_64_RDI_REGNUM 5 /* %rdi */ -#define X86_64_RBP_REGNUM 6 /* %rbp */ -#define X86_64_RSP_REGNUM 7 /* %rsp */ -#define X86_64_RIP_REGNUM 16 /* %rip */ -#define X86_64_EFLAGS_REGNUM 17 /* %eflags */ -#define X86_64_ST0_REGNUM 22 /* %st0 */ -#define X86_64_XMM0_REGNUM 38 /* %xmm0 */ -#define X86_64_XMM1_REGNUM 39 /* %xmm1 */ +/* Register information. */ struct x86_64_register_info { diff --git a/gdb/x86-64-tdep.h b/gdb/x86-64-tdep.h index 70ceffbbda2..608219c578f 100644 --- a/gdb/x86-64-tdep.h +++ b/gdb/x86-64-tdep.h @@ -30,6 +30,19 @@ struct frame_info; #include "i386-tdep.h" +/* Register numbers of various important registers. */ + +#define X86_64_RAX_REGNUM 0 /* %rax */ +#define X86_64_RDX_REGNUM 3 /* %rdx */ +#define X86_64_RDI_REGNUM 5 /* %rdi */ +#define X86_64_RBP_REGNUM 6 /* %rbp */ +#define X86_64_RSP_REGNUM 7 /* %rsp */ +#define X86_64_RIP_REGNUM 16 /* %rip */ +#define X86_64_EFLAGS_REGNUM 17 /* %eflags */ +#define X86_64_ST0_REGNUM 22 /* %st0 */ +#define X86_64_XMM0_REGNUM 38 /* %xmm0 */ +#define X86_64_XMM1_REGNUM 39 /* %xmm1 */ + /* Number of general purpose registers. */ #define X86_64_NUM_GREGS 22 @@ -47,5 +60,11 @@ void x86_64_supply_fxsave (char *fxsave); reserved bits in *FXSAVE. */ void x86_64_fill_fxsave (char *fxsave, int regnum); + + +/* Variables exported from amd64fbsd-tdep.c. */ +extern CORE_ADDR amd64fbsd_sigtramp_start; +extern CORE_ADDR amd64fbsd_sigtramp_end; +extern int amd64fbsd_sc_reg_offset[]; #endif /* x86-64-tdep.h */ -- 2.47.2