aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-nat.c
diff options
context:
space:
mode:
authorPierre Muller <muller@sourceware.org>2009-09-26 12:08:31 +0000
committerPierre Muller <muller@sourceware.org>2009-09-26 12:08:31 +0000
commit087b74b25b24a901bc78eb5a2d436dd1fd5fda21 (patch)
tree0ae1db239ea2876e43bcb4dc799d025fb73d7bd2 /gdb/i386-nat.c
parent39236edf0673953bea1f931718c68b966817225e (diff)
downloadgdb-087b74b25b24a901bc78eb5a2d436dd1fd5fda21.zip
gdb-087b74b25b24a901bc78eb5a2d436dd1fd5fda21.tar.gz
gdb-087b74b25b24a901bc78eb5a2d436dd1fd5fda21.tar.bz2
gdb ChangeLog entry:
* i386-nat.c (i386_stopped_data_address): Also check that hitted watch register is not vacant. gdb/testsuite ChangeLog entry: New test for two watchpoints, with disabling of the first inserted. * testsuite/gdb.base/watchpoints.c: New file. * testsuite/gdb.base/watchpoints.exp: New file.
Diffstat (limited to 'gdb/i386-nat.c')
-rw-r--r--gdb/i386-nat.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index ab1bd8a..325b4df 100644
--- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c
@@ -555,7 +555,10 @@ i386_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
that GDB doesn't call the target_stopped_data_address
method except for data watchpoints. In other words, I'm
being paranoiac. */
- && I386_DR_GET_RW_LEN (i) != 0)
+ && I386_DR_GET_RW_LEN (i) != 0
+ /* This third condition makes sure DRi is not vacant, this
+ avoids false positives in windows-nat.c. */
+ && !I386_DR_VACANT (i))
{
addr = dr_mirror[i];
rc = 1;