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,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);
}