diff options
author | Pierre Muller <muller@sourceware.org> | 2002-02-04 11:00:10 +0000 |
---|---|---|
committer | Pierre Muller <muller@sourceware.org> | 2002-02-04 11:00:10 +0000 |
commit | fa4ba8da6c28c972dd1b6b9971e29b51aabaafcc (patch) | |
tree | da5941b7057e94b35440911a452bfc74ce85f53e /gdb/config | |
parent | 4fa5c2a8c0aa92bfd6a609542937a1b6f17762c7 (diff) | |
download | gdb-fa4ba8da6c28c972dd1b6b9971e29b51aabaafcc.zip gdb-fa4ba8da6c28c972dd1b6b9971e29b51aabaafcc.tar.gz gdb-fa4ba8da6c28c972dd1b6b9971e29b51aabaafcc.tar.bz2 |
2002-02-04 Pierre Muller <muller@ics.u-strasbg.fr>
Add support for hardware watchpoints on win32 native.
* win32-nat.c (CONTEXT_DEBUG_DR macro): Add use of
CONTEXT_DEBUG_REGISTERS.
(dr variable): New variable. Static array containing a local copy
of debug registers.
(debug_registers_changed): New variable. Reflects when debug registers
are changed and need to be written to inferior.
(debug_registers_used): New variable. Reflects when any debug register
was set, used when new threads are created.
(cygwin_set_dr, cygwin_set_dr7, cygwin_get_dr6): New functions used by
i386-nat code.
(thread_rec): Set dr array if id is the thread of current_event .
(child_continue, child_resume): Change the debug registers for all
threads if debug_registers_changed.
(child_add_thread): Change the debug registers if debug_registers_used.
* config/i386/cygwin.mh: Add use of i386-nat.o file.
Link nm.h to new nm-cygwin.h file.
+ config/i386/nm-cygwin.h: New file. Contains the macros used for use
of hardware registers.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/i386/cygwin.mh | 4 | ||||
-rw-r--r-- | gdb/config/i386/nm-cygwin.h | 38 |
2 files changed, 40 insertions, 2 deletions
diff --git a/gdb/config/i386/cygwin.mh b/gdb/config/i386/cygwin.mh index 3680fc7..ce4656f 100644 --- a/gdb/config/i386/cygwin.mh +++ b/gdb/config/i386/cygwin.mh @@ -1,5 +1,5 @@ MH_CFLAGS= XM_FILE=xm-cygwin.h -NATDEPFILES= win32-nat.o corelow.o -NAT_FILE=../none/nm-none.h +NATDEPFILES= i386-nat.o win32-nat.o corelow.o +NAT_FILE=nm-cygwin.h XM_CLIBS= diff --git a/gdb/config/i386/nm-cygwin.h b/gdb/config/i386/nm-cygwin.h new file mode 100644 index 0000000..b5e4890 --- /dev/null +++ b/gdb/config/i386/nm-cygwin.h @@ -0,0 +1,38 @@ +/* Native definitions for Intel x86 running CYGWIN. + Copyright (C) 2002 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define NO_PTRACE_H + +#define I386_USE_GENERIC_WATCHPOINTS + +#include "i386/nm-i386.h" + +/* Support for hardware-assisted breakpoints and watchpoints. */ + +#define I386_DR_LOW_SET_CONTROL(VAL) cygwin_set_dr7 (VAL) +extern void cygwin_set_dr7 (unsigned); + +#define I386_DR_LOW_SET_ADDR(N,ADDR) cygwin_set_dr (N,ADDR) +extern void cygwin_set_dr (int, CORE_ADDR); + +#define I386_DR_LOW_RESET_ADDR(N) + +#define I386_DR_LOW_GET_STATUS() cygwin_get_dr6 () +extern unsigned cygwin_get_dr6 (void); |