diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/i386-nat.c | 4 |
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; } |