Directly call i386-dregs functions
authorGary Benson <gbenson@redhat.com>
Thu, 19 Jun 2014 09:54:15 +0000 (10:54 +0100)
committerGary Benson <gbenson@redhat.com>
Thu, 19 Jun 2014 09:56:16 +0000 (10:56 +0100)
Three target_ops functions in i386-nat.c call other local target_ops
functions.  This commit changes those functions to call the functions
in i386-dregs.c directly.

gdb/
2014-06-19  Gary Benson  <gbenson@redhat.com>

* 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.

gdb/ChangeLog
gdb/i386-nat.c

index 1d1dcad..f13c19a 100644 (file)
@@ -1,5 +1,12 @@
 2014-06-19  Gary Benson  <gbenson@redhat.com>
 
+       * 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  <gbenson@redhat.com>
+
        * nat/i386-dregs.c: New file.
        * Makefile.in (i386-dregs.o): New rule.
        * config/i386/cygwin.mh (NATDEPFILES): Add i386-dregs.o.
index 750b878..499fffb 100644 (file)
@@ -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