Index: gdb/i386bsd-nat.c |
diff --git a/gdb/i386bsd-nat.c b/gdb/i386bsd-nat.c |
index 365cb2fe6c71998accde036b64180b1ee8bfcc30..7bc906f70e94632d8d557b72724c8603b980038e 100644 |
--- a/gdb/i386bsd-nat.c |
+++ b/gdb/i386bsd-nat.c |
@@ -263,6 +263,18 @@ i386bsd_target (void) |
#define DBREG_DRX(d, x) ((&d->dr0)[x]) |
#endif |
+static unsigned long |
+i386bsd_dr_get (ptid_t ptid, int regnum) |
+{ |
+ struct dbreg dbregs; |
+ |
+ if (ptrace (PT_GETDBREGS, PIDGET (inferior_ptid), |
+ (PTRACE_TYPE_ARG3) &dbregs, 0) == -1) |
+ perror_with_name (_("Couldn't read debug registers")); |
+ |
+ return DBREG_DRX ((&dbregs), regnum); |
+} |
+ |
static void |
i386bsd_dr_set (int regnum, unsigned int value) |
{ |
@@ -298,29 +310,30 @@ i386bsd_dr_set_addr (int regnum, CORE_ADDR addr) |
i386bsd_dr_set (regnum, addr); |
} |
-void |
-i386bsd_dr_reset_addr (int regnum) |
+CORE_ADDR |
+i386bsd_dr_get_addr (int regnum) |
{ |
- gdb_assert (regnum >= 0 && regnum <= 4); |
- |
- i386bsd_dr_set (regnum, 0); |
+ return i386bsd_dr_get (inferior_ptid, regnum); |
} |
unsigned long |
i386bsd_dr_get_status (void) |
{ |
- struct dbreg dbregs; |
- |
- if (ptrace (PT_GETDBREGS, PIDGET (inferior_ptid), |
- (PTRACE_TYPE_ARG3) &dbregs, 0) == -1) |
- perror_with_name (_("Couldn't read debug registers")); |
+ return i386bsd_dr_get (inferior_ptid, 6); |
+} |
- return DBREG_DRX ((&dbregs), 6); |
+unsigned long |
+i386bsd_dr_get_control (void) |
+{ |
+ return i386bsd_dr_get (inferior_ptid, 7); |
} |
#endif /* PT_GETDBREGS */ |
+/* Provide a prototype to silence -Wmissing-prototypes. */ |
+void _initialize_i386bsd_nat (void); |
+ |
void |
_initialize_i386bsd_nat (void) |
{ |