aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-03-31 17:40:04 +0000
committerMark Kettenis <kettenis@gnu.org>2001-03-31 17:40:04 +0000
commit4bcc394469c492857bf7b70a32338cdde27c108d (patch)
tree5fb7297af5b1f96a350e71d33fef4acd725b8cf4 /gdb
parent1e8d0a7b553cd82164b9eb5bc55045cf7aa40728 (diff)
downloadgdb-4bcc394469c492857bf7b70a32338cdde27c108d.zip
gdb-4bcc394469c492857bf7b70a32338cdde27c108d.tar.gz
gdb-4bcc394469c492857bf7b70a32338cdde27c108d.tar.bz2
* i386-nat.c (i386_insert_aligned_watchpoint): Set address
register before enabling it by setting the control register. (i386_remove_aligned_watchpoint): Reset address register after disabling it by setting the control register.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386-nat.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 550af70..b4d1ec0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2001-03-31 Mark Kettenis <kettenis@gnu.org>
+ * i386-nat.c (i386_insert_aligned_watchpoint): Set address
+ register before enabling it by setting the control register.
+ (i386_remove_aligned_watchpoint): Reset address register after
+ disabling it by setting the control register.
+
* i386-tdep.c (i386_extract_return_value): If the type of the
return value is TYPE_STRUCT and the number of fields is one, call
ourselves with TYPE set tp the type of the first field.
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index e250b1b..fbd0b55 100644
--- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c
@@ -356,8 +356,8 @@ i386_insert_aligned_watchpoint (CORE_ADDR addr, unsigned len_rw_bits)
dr_control_mirror &= I386_DR_CONTROL_MASK;
/* Finally, actually pass the info to the inferior. */
- I386_DR_LOW_SET_CONTROL (dr_control_mirror);
I386_DR_LOW_SET_ADDR (i, addr);
+ I386_DR_LOW_SET_CONTROL (dr_control_mirror);
return 0;
}
@@ -384,8 +384,8 @@ i386_remove_aligned_watchpoint (CORE_ADDR addr, unsigned len_rw_bits)
dr_mirror[i] = 0;
I386_DR_DISABLE (i);
/* Reset it in the inferior. */
- I386_DR_LOW_RESET_ADDR (i);
I386_DR_LOW_SET_CONTROL (dr_control_mirror);
+ I386_DR_LOW_RESET_ADDR (i);
}
retval = 0;
}