From 54394ac39e5a63fdc187357260e22003e601e4f6 Mon Sep 17 00:00:00 2001 From: David O'Brien Date: Fri, 1 Mar 2002 18:35:24 +0000 Subject: [PATCH] 2002-03-01 David O'Brien * configure.host (sparc64-*-freebsd): Add. * configure.tgt: Likewise. * config/sparc/fbsd.mh: New file. * config/sparc/fbsd.mt: Likewise. * config/sparc/nm-fbsd.h: Likewise. * config/sparc/tm-fbsd.h: Likewise. --- gdb/ChangeLog | 9 +++++ gdb/config/sparc/fbsd.mh | 25 ++++++++++++++ gdb/config/sparc/fbsd.mt | 23 +++++++++++++ gdb/config/sparc/nm-fbsd.h | 67 ++++++++++++++++++++++++++++++++++++++ gdb/config/sparc/tm-fbsd.h | 34 +++++++++++++++++++ gdb/configure.host | 2 ++ gdb/configure.tgt | 2 ++ 7 files changed, 162 insertions(+) create mode 100644 gdb/config/sparc/fbsd.mh create mode 100644 gdb/config/sparc/fbsd.mt create mode 100644 gdb/config/sparc/nm-fbsd.h create mode 100644 gdb/config/sparc/tm-fbsd.h diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6b0098c9779..dae10ffbd45 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2002-03-01 David O'Brien + + * configure.host (sparc64-*-freebsd): Add. + * configure.tgt: Likewise. + * config/sparc/fbsd.mh: New file. + * config/sparc/fbsd.mt: Likewise. + * config/sparc/nm-fbsd.h: Likewise. + * config/sparc/tm-fbsd.h: Likewise. + 2002-03-01 Daniel Jacobowitz * config/djgpp/fnchange.lst: Add regformats/reg-i386-linux.dat and diff --git a/gdb/config/sparc/fbsd.mh b/gdb/config/sparc/fbsd.mh new file mode 100644 index 00000000000..3ffdd077945 --- /dev/null +++ b/gdb/config/sparc/fbsd.mh @@ -0,0 +1,25 @@ +/* Host-dependent settings for FreeBSD/sparc64. + Copyright 2002 Free Software Foundation, Inc. + Contributed by David E. O'Brien . + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +# Host: FreeBSD/sparc64 +NATDEPFILES= sparc-nat.o \ + corelow.o fork-child.o infptrace.o inftarg.o \ + solib.o solib-svr4.o solib-legacy.o +NAT_FILE= nm-fbsd.h diff --git a/gdb/config/sparc/fbsd.mt b/gdb/config/sparc/fbsd.mt new file mode 100644 index 00000000000..4d077febbef --- /dev/null +++ b/gdb/config/sparc/fbsd.mt @@ -0,0 +1,23 @@ +/* Target-dependent settings for FreeBSD/sparc64. + Copyright 2002 Free Software Foundation, Inc. + Contributed by David E. O'Brien . + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +# Target: FreeBSD/sparc64 +TDEPFILES= sparc-tdep.o solib.o solib-svr4.o solib-legacy.o +TM_FILE= tm-fbsd.h diff --git a/gdb/config/sparc/nm-fbsd.h b/gdb/config/sparc/nm-fbsd.h new file mode 100644 index 00000000000..87b9622348c --- /dev/null +++ b/gdb/config/sparc/nm-fbsd.h @@ -0,0 +1,67 @@ +/* Native-dependent definitions for FreeBSD/sparc64. + Copyright 2002 + Free Software Foundation, Inc. + Contributed by David E. O'Brien . + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef NM_FBSD_H +#define NM_FBSD_H + +/* Type of the third argument to the `ptrace' system call. */ +#define PTRACE_ARG3_TYPE caddr_t + +/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */ +#define FETCH_INFERIOR_REGISTERS + +/* We can attach and detach. */ +#define ATTACH_DETACH + + +/* Shared library support. */ + +#define SVR4_SHARED_LIBS + +#include "solib.h" /* Support for shared libraries. */ +#include "elf/common.h" /* Additional ELF shared library info. */ + +/* Make things match up with what is expected in sparc-nat.c. */ + +#define PTRACE_GETREGS PT_GETREGS +#define PTRACE_SETREGS PT_SETREGS +#define PTRACE_GETFPREGS PT_GETFPREGS +#define PTRACE_SETFPREGS PT_SETFPREGS + +#define GDB_GREGSET_T struct reg +#define GDB_FPREGSET_T struct fpreg + +#define regs trapframe +#define r_g1 tf_global[1] +#define r_ps tf_tstate +#define r_pc tf_tpc +#define r_npc tf_tnpc +#define r_y tf_y + +#define FPU_FSR_TYPE unsigned long +#define fp_status fpreg /* our reg.h */ +#define fpu fpreg /* our reg.h */ +#define fpu_regs fr_regs /* one field of fpu_fr on Solaris */ +#define fpu_fr fr_regs /* a union w/in struct fpu on Solaris */ +#define fpu_fsr fr_fsr +#define Fpu_fsr fr_fsr + +#endif /* NM_FBSD_H */ diff --git a/gdb/config/sparc/tm-fbsd.h b/gdb/config/sparc/tm-fbsd.h new file mode 100644 index 00000000000..c84dfc4075b --- /dev/null +++ b/gdb/config/sparc/tm-fbsd.h @@ -0,0 +1,34 @@ +/* Target-dependent definitions for FreeBSD/sparc64. + Copyright 2002 Free Software Foundation, Inc. + Contributed by David E. O'Brien . + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef TM_FBSD_H +#define TM_FBSD_H + +#define SVR4_SHARED_LIBS +#include "solib.h" /* Support for shared libraries. */ +#include "sparc/tm-sp64.h" + +/* Number of traps that happen between exec'ing the shell to run an + inferior, and when we finally get to the inferior code. The + default is right for FreeBSD. */ + +#undef START_INFERIOR_TRAPS_EXPECTED + +#endif /* TM_FBSD_H */ diff --git a/gdb/configure.host b/gdb/configure.host index 574c3025b67..4c69fff627e 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -144,6 +144,8 @@ sparc-*-solaris2*) gdb_host=sun4sol2 ;; sparc-*-sunos4*) gdb_host=sun4os4 ;; sparc-*-sunos5*) gdb_host=sun4sol2 ;; sparc-*-*) gdb_host=sun4os4 ;; +sparc64-*-freebsd*|ultrasparc-*-freebsd*|sparcv9-*-freebsd*) + gdb_host=fbsd ;; sparc64-*-linux*) gdb_host=linux ;; sparcv9-*-* | sparc64-*-*) gdb_host=sun4sol2 ;; diff --git a/gdb/configure.tgt b/gdb/configure.tgt index efa9114591b..1ccdfed8c15 100644 --- a/gdb/configure.tgt +++ b/gdb/configure.tgt @@ -276,6 +276,8 @@ sparc86x-*-*) gdb_target=sparclite ;; # regs (some of which are usable in v8plus) so sp64sol.mt hasn't been # deleted though presumably it should be eventually. #sparc64-*-solaris2*) gdb_target=sp64sol2 ;; +sparc64-*-freebsd*|ultrasparc-*-freebsd*|sparcv9-*-freebsd*) + gdb_target=fbsd ;; sparc64-*-linux*) gdb_target=sp64linux ;; sparcv9-*-* | sparc64-*-*) gdb_target=sp64 ;; -- 2.30.2