aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/i386/nm-fbsd.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-03-31 18:09:03 +0000
committerMark Kettenis <kettenis@gnu.org>2001-03-31 18:09:03 +0000
commit0afdd43759e75acf6c34338ac95d406aad497a08 (patch)
treec39e6549935fbcbd99f1edbcbe416b3b1882ed60 /gdb/config/i386/nm-fbsd.h
parent4bcc394469c492857bf7b70a32338cdde27c108d (diff)
downloadgdb-0afdd43759e75acf6c34338ac95d406aad497a08.zip
gdb-0afdd43759e75acf6c34338ac95d406aad497a08.tar.gz
gdb-0afdd43759e75acf6c34338ac95d406aad497a08.tar.bz2
* i386bsd-nat.c: Include "gdb_assert.h".
[HAVE_PT_GETDBREGS] (DBREG_DRX): Define if not already defined. [HAVE_PT_GETDBREGS] (i386bsd_dr_set, i386bsd_dr_set_control, i386bsd_dr_set_addr, i386bsd_dr_reset_addr, i386bsd_dr_get_status): New functions. * config/i386/nm-fbsd.h [HAVE_PT_GETDBREGS] (I386_USE_GENERIC_WATCHPOINTS): Define. Include "i386/nm-i386.h". (I386_DR_LOW_SET_CONTROL, I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR, I386_DR_LOW_GET_STATUS): New macros. (i386bsd_dr_set_control, i386bsd_dr_set_addr, i386bsd_dr_reset_addr, i386bsd_dr_get_status): New prototypes. * acconfig.h (HAVE_PT_GETDBREGS): New configure macro. * configure.in: Cleanup a few comments. Check for PT_GETDBREGS ptrace request. * config.in, configure: Regenerate.
Diffstat (limited to 'gdb/config/i386/nm-fbsd.h')
-rw-r--r--gdb/config/i386/nm-fbsd.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/gdb/config/i386/nm-fbsd.h b/gdb/config/i386/nm-fbsd.h
index 02ea18b..79199bb 100644
--- a/gdb/config/i386/nm-fbsd.h
+++ b/gdb/config/i386/nm-fbsd.h
@@ -1,5 +1,5 @@
/* Native-dependent definitions for FreeBSD/i386.
- Copyright 1986, 1987, 1989, 1992, 1994, 1996, 1997, 2000
+ Copyright 1986, 1987, 1989, 1992, 1994, 1996, 1997, 2000, 2001
Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,6 +22,31 @@
#ifndef NM_FBSD_H
#define NM_FBSD_H
+#ifdef HAVE_PT_GETDBREGS
+#define I386_USE_GENERIC_WATCHPOINTS
+#endif
+
+#include "i386/nm-i386.h"
+
+/* Provide access to the i386 hardware debugging registers. */
+
+#define I386_DR_LOW_SET_CONTROL(control) \
+ i386bsd_dr_set_control (control)
+extern void i386bsd_dr_set_control (unsigned long control);
+
+#define I386_DR_LOW_SET_ADDR(regnum, addr) \
+ i386bsd_dr_set_addr (regnum, addr)
+extern void i386bsd_dr_set_addr (int regnum, CORE_ADDR addr);
+
+#define I386_DR_LOW_RESET_ADDR(regnum) \
+ i386bsd_dr_reset_addr (regnum)
+extern void i386bsd_dr_reset_addr (int regnum);
+
+#define I386_DR_LOW_GET_STATUS() \
+ i386bsd_dr_get_status ()
+extern unsigned long i386bsd_dr_get_status (void);
+
+
/* Type of the third argument to the `ptrace' system call. */
#define PTRACE_ARG3_TYPE caddr_t