From bd37273160f1691c00eab2b3d7272a108619ebac Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Fri, 15 Dec 2006 23:57:35 +0000 Subject: [PATCH] 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. --- gdb/ChangeLog | 14 ++++++++++++++ gdb/Makefile.in | 2 +- gdb/NEWS | 4 ++++ gdb/config/sh/nbsd.mh | 6 ++---- gdb/configure.host | 1 + gdb/shnbsd-nat.c | 34 +++++++++++++++++++++++++--------- 6 files changed, 47 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 876185a..01f510c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,19 @@ 2006-12-16 Mark Kettenis + 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. + Add OpenBSD/sh support. * NEWS (New targets): Mention OpenBSD/sh. * configure.tgt: Add sh*-*-openbsd*. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 695a3a7..51e74df 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -2604,7 +2604,7 @@ sh64-tdep.o: sh64-tdep.c $(defs_h) $(frame_h) $(frame_base_h) \ $(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) diff --git a/gdb/NEWS b/gdb/NEWS index b39c89c..22b7518 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -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* diff --git a/gdb/config/sh/nbsd.mh b/gdb/config/sh/nbsd.mh index 9c7cec9..d5e67cb 100644 --- a/gdb/config/sh/nbsd.mh +++ b/gdb/config/sh/nbsd.mh @@ -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 diff --git a/gdb/configure.host b/gdb/configure.host index 3615859..f8aa18d 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -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 ;; diff --git a/gdb/shnbsd-nat.c b/gdb/shnbsd-nat.c index 8a2ded3..264d01e 100644 --- a/gdb/shnbsd-nat.c +++ b/gdb/shnbsd-nat.c @@ -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 #include #include -#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); +} -- 2.7.4