This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] OpenBSD/sh native support
- From: Mark Kettenis <kettenis at gnu dot org>
- To: gdb-patches at sourceware dot org
- Date: Sat, 16 Dec 2006 00:57:48 +0100 (CET)
- Subject: [commit] OpenBSD/sh native support
This adds support for a OpenBSD/sh native GDB
Committed,
Mark
Index: ChangeLog
from Mark Kettenis <kettenis@gnu.org>
Add OpenBSD/sh native support.
* NEWS (New native configurations): Mention OpenBSD/sh.
* configure.host: Add sh*-*-openbsd*.
* shnbsd-nat.c: Include "inf-ptrace.h".
(shnbsd_fetch_inferior_registers): Rename from
fetch_inferior_registers. Make static.
(shnbsd_store_inferior_registers): Rename from
store_inferior_registers. Make static.
(_initialize_shnbsd_nat): New function.
* Makefile.in (shnbsd-nat.o): Update dependencies.
* config/sh/nbsd.mh (NAT_CLIBS, NAT_FILE): Remove.
(NATDEPFILES): Remove infptrace.o and inftarg.o. Add
inf-ptrace.o.
Index: NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.205
diff -u -p -r1.205 NEWS
--- NEWS 15 Dec 2006 23:45:04 -0000 1.205
+++ NEWS 15 Dec 2006 23:55:44 -0000
@@ -28,6 +28,10 @@ show breakpoint auto-hw
"break" command and internal breakpoints used for other commands
including "next" and "finish".
+* New native configurations
+
+OpenBSD/sh sh*-*openbsd*
+
* New targets
OpenBSD/sh sh*-*-openbsd*
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.856
diff -u -p -r1.856 Makefile.in
--- Makefile.in 28 Nov 2006 22:14:31 -0000 1.856
+++ Makefile.in 15 Dec 2006 23:55:46 -0000
@@ -2604,7 +2604,7 @@ sh64-tdep.o: sh64-tdep.c $(defs_h) $(fra
$(gdb_string_h) $(gdb_assert_h) $(arch_utils_h) $(regcache_h) \
$(osabi_h) $(elf_bfd_h) $(elf_sh_h) $(gdb_sim_sh_h)
shnbsd-nat.o: shnbsd-nat.c $(defs_h) $(inferior_h) $(sh_tdep_h) \
- $(shnbsd_tdep_h)
+ $(shnbsd_tdep_h) $(inf_ptrace_h)
shnbsd-tdep.o: shnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) $(value_h) \
$(osabi_h) $(solib_svr4_h) $(nbsd_tdep_h) $(sh_tdep_h) \
$(shnbsd_tdep_h)
Index: configure.host
===================================================================
RCS file: /cvs/src/src/gdb/configure.host,v
retrieving revision 1.96
diff -u -p -r1.96 configure.host
--- configure.host 22 Nov 2006 13:49:53 -0000 1.96
+++ configure.host 15 Dec 2006 23:55:46 -0000
@@ -130,6 +130,7 @@ s390*-*-*) gdb_host=s390 ;;
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
gdb_host=nbsd ;;
+sh*-*-openbsd*) gdb_host=nbsd ;;
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
gdb_host=fbsd ;;
Index: shnbsd-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/shnbsd-nat.c,v
retrieving revision 1.7
diff -u -p -r1.7 shnbsd-nat.c
--- shnbsd-nat.c 17 Dec 2005 22:34:02 -0000 1.7
+++ shnbsd-nat.c 15 Dec 2006 23:55:46 -0000
@@ -1,6 +1,7 @@
-/* Native-dependent code for SuperH running NetBSD, for GDB.
+/* Native-dependent code for NetBSD/sh.
+
+ Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GDB.
@@ -20,15 +21,16 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
+#include "defs.h"
+#include "inferior.h"
+
#include <sys/types.h>
#include <sys/ptrace.h>
#include <machine/reg.h>
-#include "defs.h"
-#include "inferior.h"
-
#include "sh-tdep.h"
#include "shnbsd-tdep.h"
+#include "inf-ptrace.h"
/* Determine if PT_GETREGS fetches this register. */
#define GETREGS_SUPPLIES(regno) \
@@ -37,8 +39,8 @@
|| (regno) == MACH_REGNUM || (regno) == MACL_REGNUM \
|| (regno) == SR_REGNUM)
-void
-fetch_inferior_registers (int regno)
+static void
+shnbsd_fetch_inferior_registers (int regno)
{
if (regno == -1 || GETREGS_SUPPLIES (regno))
{
@@ -55,8 +57,8 @@ fetch_inferior_registers (int regno)
}
}
-void
-store_inferior_registers (int regno)
+static void
+shnbsd_store_inferior_registers (int regno)
{
if (regno == -1 || GETREGS_SUPPLIES (regno))
{
@@ -76,3 +78,17 @@ store_inferior_registers (int regno)
return;
}
}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_shnbsd_nat (void);
+
+void
+_initialize_shnbsd_nat (void)
+{
+ struct target_ops *t;
+
+ t = inf_ptrace_target ();
+ t->to_fetch_registers = shnbsd_fetch_inferior_registers;
+ t->to_store_registers = shnbsd_store_inferior_registers;
+ add_target (t);
+}
Index: config/sh/nbsd.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/sh/nbsd.mh,v
retrieving revision 1.3
diff -u -p -r1.3 nbsd.mh
--- config/sh/nbsd.mh 3 Sep 2004 19:08:21 -0000 1.3
+++ config/sh/nbsd.mh 15 Dec 2006 23:55:46 -0000
@@ -1,4 +1,2 @@
-# Host: SuperH running NetBSD
-NAT_CLIBS=
-NATDEPFILES= infptrace.o inftarg.o fork-child.o shnbsd-nat.o
-NAT_FILE= config/nm-nbsd.h
+# Host: NetBSD/sh
+NATDEPFILES= fork-child.o inf-ptrace.o shnbsd-nat.o