diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2005-11-21 10:22:32 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2005-11-21 10:22:32 +0000 |
commit | 55b6ee5b2fecd275acd8e2c4471a0fba5e493c4c (patch) | |
tree | 135c3a3ea2125be93c17b5cc758aeffc7a50e676 | |
parent | 05a8e96c4ceba5cc9034621a220cc278c80d602c (diff) |
Cut m68k over to inf-ptrace.c, making fork following work.
-rw-r--r-- | gnu/usr.bin/binutils/gdb/config/m68k/obsd.mh | 4 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/m68kbsd-nat.c | 28 |
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) ®s, 0) == -1) - perror_with_name ("Couldn't get registers"); + perror_with_name (_("Couldn't get registers")); m68kbsd_supply_gregset (current_regcache, ®s); } @@ -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) ®s, 0) == -1) - perror_with_name ("Couldn't get registers"); + perror_with_name (_("Couldn't get registers")); m68kbsd_collect_gregset (current_regcache, ®s, regnum); if (ptrace (PT_SETREGS, PIDGET (inferior_ptid), (PTRACE_TYPE_ARG3) ®s, 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); } |