aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/sparc/fbsd.mh25
-rw-r--r--gdb/config/sparc/fbsd.mt23
-rw-r--r--gdb/config/sparc/nm-fbsd.h67
-rw-r--r--gdb/config/sparc/tm-fbsd.h34
-rw-r--r--gdb/configure.host2
-rw-r--r--gdb/configure.tgt2
7 files changed, 162 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6b0098c..dae10ff 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
index 0000000..3ffdd07
--- /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 <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
index 0000000..4d077fe
--- /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 <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
index 0000000..87b9622
--- /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 <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
+
+
+/* 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 0000000..c84dfc4
--- /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 <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 */
diff --git a/gdb/configure.host b/gdb/configure.host
index 574c302..4c69fff 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 efa9114..1ccdfed 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 ;;