diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1d1dcad4ac..f13c19a63c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2014-06-19 Gary Benson + + * i386-nat.c (i386_stopped_by_watchpoint): + Use i386_dr_stopped_by_watchpoint. + (i386_insert_hw_breakpoint): Use i386_dr_insert_watchpoint. + (i386_remove_hw_breakpoint): Use i386_dr_remove_watchpoint. + 2014-06-19 Gary Benson * nat/i386-dregs.c: New file. diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c index 750b87805c..499fffb6ce 100644 --- a/gdb/i386-nat.c +++ b/gdb/i386-nat.c @@ -208,8 +208,10 @@ i386_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p) static int i386_stopped_by_watchpoint (struct target_ops *ops) { - CORE_ADDR addr = 0; - return i386_stopped_data_address (ops, &addr); + struct i386_debug_reg_state *state + = i386_debug_reg_state (ptid_get_pid (inferior_ptid)); + + return i386_dr_stopped_by_watchpoint (state); } /* Insert a hardware-assisted breakpoint at BP_TGT->placed_address. @@ -219,8 +221,11 @@ static int i386_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) { - return i386_insert_watchpoint (self, bp_tgt->placed_address, 1, - hw_execute, NULL) ? EBUSY : 0; + struct i386_debug_reg_state *state + = i386_debug_reg_state (ptid_get_pid (inferior_ptid)); + + return i386_dr_insert_watchpoint (state, hw_execute, + bp_tgt->placed_address, 1) ? EBUSY : 0; } /* Remove a hardware-assisted breakpoint at BP_TGT->placed_address. @@ -230,8 +235,11 @@ static int i386_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) { - return i386_remove_watchpoint (self, bp_tgt->placed_address, 1, - hw_execute, NULL); + struct i386_debug_reg_state *state + = i386_debug_reg_state (ptid_get_pid (inferior_ptid)); + + return i386_dr_remove_watchpoint (state, hw_execute, + bp_tgt->placed_address, 1); } /* Returns the number of hardware watchpoints of type TYPE that we can