* breakpoint.c (bpstat_stop_status): Add new argument

STOPPED_BY_WATCHPOINT.  Use it instead of testing
	target_stopped_data_address agaist 0 to check whether
	or not we stopped due to a hardware watchpoint.
	* breakpoint.h (bpstat_stop_status): Adapt prototype.
	* infrun.c (handle_inferior_event): Call bpstat_stop_status
	with new argument.
This commit is contained in:
Ulrich Weigand
2004-05-13 16:39:11 +00:00
parent 336b9722b8
commit 00d4360e1c
4 changed files with 22 additions and 8 deletions

View File

@@ -2559,7 +2559,8 @@ which its expression is valid.\n");
}
/* Get a bpstat associated with having just stopped at address
BP_ADDR. */
BP_ADDR in thread PTID. STOPPED_BY_WATCHPOINT is true if the
target thinks we stopped due to a hardware watchpoint. */
/* Determine whether we stopped at a breakpoint, etc, or whether we
don't understand this stop. Result is a chain of bpstat's such that:
@@ -2576,7 +2577,7 @@ which its expression is valid.\n");
commands, FIXME??? fields. */
bpstat
bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid)
bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid, int stopped_by_watchpoint)
{
struct breakpoint *b, *temp;
/* True if we've hit a breakpoint (as opposed to a watchpoint). */
@@ -2600,7 +2601,7 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid)
&& !((b->type == bp_hardware_watchpoint
|| b->type == bp_read_watchpoint
|| b->type == bp_access_watchpoint)
&& target_stopped_data_address () != 0)
&& stopped_by_watchpoint)
&& b->type != bp_hardware_breakpoint
&& b->type != bp_catch_fork
&& b->type != bp_catch_vfork