2002-03-01 David O'Brien <obrien@FreeBSD.org>
authorDavid O'Brien <obrien@FreeBSD.org>
Fri, 1 Mar 2002 18:35:24 +0000 (18:35 +0000)
committerDavid O'Brien <obrien@FreeBSD.org>
Fri, 1 Mar 2002 18:35:24 +0000 (18:35 +0000)
* 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
gdb/config/sparc/fbsd.mh [new file with mode: 0644]
gdb/config/sparc/fbsd.mt [new file with mode: 0644]
gdb/config/sparc/nm-fbsd.h [new file with mode: 0644]
gdb/config/sparc/tm-fbsd.h [new file with mode: 0644]
gdb/configure.host
gdb/configure.tgt

index 6b0098c9779fcb82116e1cf50491578373141ea3..dae10ffbd45f5efe1f5ae1c8640964f02d8233ee 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-01  David O'Brien  <obrien@FreeBSD.org>
+
+       * 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  <drow@mvista.com>
 
        * 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 (file)
index 0000000..3ffdd07
--- /dev/null
@@ -0,0 +1,25 @@
+/* Host-dependent settings for FreeBSD/sparc64.
+   Copyright 2002 Free Software Foundation, Inc.
+   Contributed by David E. O'Brien <obrien@FreeBSD.org>.
+
+   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 (file)
index 0000000..4d077fe
--- /dev/null
@@ -0,0 +1,23 @@
+/* Target-dependent settings for FreeBSD/sparc64.
+   Copyright 2002 Free Software Foundation, Inc.
+   Contributed by David E. O'Brien <obrien@FreeBSD.org>.
+
+   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 (file)
index 0000000..87b9622
--- /dev/null
@@ -0,0 +1,67 @@
+/* Native-dependent definitions for FreeBSD/sparc64.
+   Copyright 2002
+   Free Software Foundation, Inc.
+   Contributed by David E. O'Brien <obrien@FreeBSD.org>.
+
+   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
+\f
+
+/* 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 (file)
index 0000000..c84dfc4
--- /dev/null
@@ -0,0 +1,34 @@
+/* Target-dependent definitions for FreeBSD/sparc64.
+   Copyright 2002 Free Software Foundation, Inc.
+   Contributed by David E. O'Brien <obrien@FreeBSD.org>.
+
+   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 */
index 574c3025b67d465b1487ad35a8ba55c79bcae5d9..4c69fff627eaad953b0eb58f98892741978fe548 100644 (file)
@@ -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 ;;
 
index efa9114591b2fe1d6a130ad52e5350a32f870816..1ccdfed8c15ff67cf5d1d296d8f04663021463f2 100644 (file)
@@ -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 ;;