summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2005-11-21 10:22:32 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2005-11-21 10:22:32 +0000
commit55b6ee5b2fecd275acd8e2c4471a0fba5e493c4c (patch)
tree135c3a3ea2125be93c17b5cc758aeffc7a50e676
parent05a8e96c4ceba5cc9034621a220cc278c80d602c (diff)
Cut m68k over to inf-ptrace.c, making fork following work.
-rw-r--r--gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh4
-rw-r--r--gnu/usr.bin/binutils/gdb/m68kbsd-nat.c28
2 files changed, 20 insertions, 12 deletions
diff --git a/gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh b/gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh
index 54e4e9d7c2b..2873d8b19da 100644
--- a/gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh
+++ b/gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh
@@ -1,6 +1,6 @@
# Host: OpenBSD/m68k
-NATDEPFILES= m68kbsd-nat.o bsd-kvm.o fork-child.o infptrace.o inftarg.o \
+NATDEPFILES= m68kbsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o \
solib.o solib-sunos.o
-NAT_FILE= nm-nbsdaout.h
+NAT_FILE= solib.h
LOADLIBES= -lkvm
diff --git a/gnu/usr.bin/binutils/gdb/m68kbsd-nat.c b/gnu/usr.bin/binutils/gdb/m68kbsd-nat.c
index 34e94b4e2f9..9e1366ddbbd 100644
--- a/gnu/usr.bin/binutils/gdb/m68kbsd-nat.c
+++ b/gnu/usr.bin/binutils/gdb/m68kbsd-nat.c
@@ -30,6 +30,7 @@
#include <machine/reg.h>
#include "m68k-tdep.h"
+#include "inf-ptrace.h"
static int
m68kbsd_gregset_supplies_p (int regnum)
@@ -106,8 +107,8 @@ m68kbsd_collect_fpregset (struct regcache *regcache,
/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
for all registers (including the floating-point registers). */
-void
-fetch_inferior_registers (int regnum)
+static void
+m68kbsd_fetch_inferior_registers (int regnum)
{
if (regnum == -1 || m68kbsd_gregset_supplies_p (regnum))
{
@@ -115,7 +116,7 @@ fetch_inferior_registers (int regnum)
if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
+ perror_with_name (_("Couldn't get registers"));
m68kbsd_supply_gregset (current_regcache, &regs);
}
@@ -126,7 +127,7 @@ fetch_inferior_registers (int regnum)
if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point status");
+ perror_with_name (_("Couldn't get floating point status"));
m68kbsd_supply_fpregset (current_regcache, &fpregs);
}
@@ -135,8 +136,8 @@ fetch_inferior_registers (int regnum)
/* Store register REGNUM back into the inferior. If REGNUM is -1, do
this for all registers (including the floating-point registers). */
-void
-store_inferior_registers (int regnum)
+static void
+m68kbsd_store_inferior_registers (int regnum)
{
if (regnum == -1 || m68kbsd_gregset_supplies_p (regnum))
{
@@ -144,13 +145,13 @@ store_inferior_registers (int regnum)
if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
- perror_with_name ("Couldn't get registers");
+ perror_with_name (_("Couldn't get registers"));
m68kbsd_collect_gregset (current_regcache, &regs, regnum);
if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
- perror_with_name ("Couldn't write registers");
+ perror_with_name (_("Couldn't write registers"));
}
if (regnum == -1 || m68kbsd_fpregset_supplies_p (regnum))
@@ -159,13 +160,13 @@ store_inferior_registers (int regnum)
if (ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
- perror_with_name ("Couldn't get floating point status");
+ perror_with_name (_("Couldn't get floating point status"));
m68kbsd_collect_fpregset (current_regcache, &fpregs, regnum);
if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
- perror_with_name ("Couldn't write floating point status");
+ perror_with_name (_("Couldn't write floating point status"));
}
}
@@ -223,6 +224,13 @@ void _initialize_m68kbsd_nat (void);
void
_initialize_m68kbsd_nat (void)
{
+ struct target_ops *t;
+
+ t = inf_ptrace_target ();
+ t->to_fetch_registers = m68kbsd_fetch_inferior_registers;
+ t->to_store_registers = m68kbsd_store_inferior_registers;
+ add_target (t);
+
/* Support debugging kernel virtual memory images. */
bsd_kvm_add_target (m68kbsd_supply_pcb);
}