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.
This commit is contained in:
Mark Kettenis 2006-12-15 23:57:35 +00:00
parent 54fe917236
commit bd37273160
6 changed files with 47 additions and 14 deletions

View file

@ -1,5 +1,19 @@
2006-12-16 Mark Kettenis <kettenis@gnu.org> 2006-12-16 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.
Add OpenBSD/sh support. Add OpenBSD/sh support.
* NEWS (New targets): Mention OpenBSD/sh. * NEWS (New targets): Mention OpenBSD/sh.
* configure.tgt: Add sh*-*-openbsd*. * configure.tgt: Add sh*-*-openbsd*.

View file

@ -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) \ $(gdb_string_h) $(gdb_assert_h) $(arch_utils_h) $(regcache_h) \
$(osabi_h) $(elf_bfd_h) $(elf_sh_h) $(gdb_sim_sh_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-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) \ 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) \ $(osabi_h) $(solib_svr4_h) $(nbsd_tdep_h) $(sh_tdep_h) \
$(shnbsd_tdep_h) $(shnbsd_tdep_h)

View file

@ -28,6 +28,10 @@ show breakpoint auto-hw
"break" command and internal breakpoints used for other commands "break" command and internal breakpoints used for other commands
including "next" and "finish". including "next" and "finish".
* New native configurations
OpenBSD/sh sh*-*openbsd*
* New targets * New targets
OpenBSD/sh sh*-*-openbsd* OpenBSD/sh sh*-*-openbsd*

View file

@ -1,4 +1,2 @@
# Host: SuperH running NetBSD # Host: NetBSD/sh
NAT_CLIBS= NATDEPFILES= fork-child.o inf-ptrace.o shnbsd-nat.o
NATDEPFILES= infptrace.o inftarg.o fork-child.o shnbsd-nat.o
NAT_FILE= config/nm-nbsd.h

View file

@ -130,6 +130,7 @@ s390*-*-*) gdb_host=s390 ;;
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu) sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
gdb_host=nbsd ;; gdb_host=nbsd ;;
sh*-*-openbsd*) gdb_host=nbsd ;;
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
gdb_host=fbsd ;; gdb_host=fbsd ;;

View file

@ -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. Contributed by Wasabi Systems, Inc.
This file is part of GDB. This file is part of GDB.
@ -20,15 +21,16 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */ Boston, MA 02110-1301, USA. */
#include "defs.h"
#include "inferior.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/ptrace.h> #include <sys/ptrace.h>
#include <machine/reg.h> #include <machine/reg.h>
#include "defs.h"
#include "inferior.h"
#include "sh-tdep.h" #include "sh-tdep.h"
#include "shnbsd-tdep.h" #include "shnbsd-tdep.h"
#include "inf-ptrace.h"
/* Determine if PT_GETREGS fetches this register. */ /* Determine if PT_GETREGS fetches this register. */
#define GETREGS_SUPPLIES(regno) \ #define GETREGS_SUPPLIES(regno) \
@ -37,8 +39,8 @@
|| (regno) == MACH_REGNUM || (regno) == MACL_REGNUM \ || (regno) == MACH_REGNUM || (regno) == MACL_REGNUM \
|| (regno) == SR_REGNUM) || (regno) == SR_REGNUM)
void static void
fetch_inferior_registers (int regno) shnbsd_fetch_inferior_registers (int regno)
{ {
if (regno == -1 || GETREGS_SUPPLIES (regno)) if (regno == -1 || GETREGS_SUPPLIES (regno))
{ {
@ -55,8 +57,8 @@ fetch_inferior_registers (int regno)
} }
} }
void static void
store_inferior_registers (int regno) shnbsd_store_inferior_registers (int regno)
{ {
if (regno == -1 || GETREGS_SUPPLIES (regno)) if (regno == -1 || GETREGS_SUPPLIES (regno))
{ {
@ -76,3 +78,17 @@ store_inferior_registers (int regno)
return; 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);
}