Directly call i386-dregs functions

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.
This commit is contained in:
Gary Benson 2014-06-19 10:54:15 +01:00
parent 3a8ee006fb
commit 46e3325277
2 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,10 @@
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.

View 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