2004-06-22 Jeff Johnston <jjohnstn@redhat.com>
* infrun.c (handle_inferior_event): Initialize stopped_by_watchpoint to -1. * breakpoint.c (bpstat_stop_status): Move check for ignoring untriggered watchpoints to a separate if clause. Update function comment regarding STOPPED_BY_WATCHPOINT argument.
This commit is contained in:
parent
aef68c4869
commit
46587c4207
@ -1,3 +1,11 @@
|
|||||||
|
2004-06-22 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
|
* infrun.c (handle_inferior_event): Initialize stopped_by_watchpoint
|
||||||
|
to -1.
|
||||||
|
* breakpoint.c (bpstat_stop_status): Move check for ignoring
|
||||||
|
untriggered watchpoints to a separate if clause. Update function
|
||||||
|
comment regarding STOPPED_BY_WATCHPOINT argument.
|
||||||
|
|
||||||
2004-06-22 Jim Blandy <jimb@redhat.com>
|
2004-06-22 Jim Blandy <jimb@redhat.com>
|
||||||
|
|
||||||
* gdbarch.sh: Doc fix.
|
* gdbarch.sh: Doc fix.
|
||||||
@ -148,6 +156,7 @@
|
|||||||
* cli/cli-cmds.c (disassemble_command): Update.
|
* cli/cli-cmds.c (disassemble_command): Update.
|
||||||
* vax-tdep.c (vax_gdbarch_init): Update.
|
* vax-tdep.c (vax_gdbarch_init): Update.
|
||||||
|
|
||||||
|
>>>>>>> 1.6028
|
||||||
2004-06-18 Mark Kettenis <kettenis@gnu.org>
|
2004-06-18 Mark Kettenis <kettenis@gnu.org>
|
||||||
|
|
||||||
* i386-tdep.c (i386_collect_fpregset): Fix comment.
|
* i386-tdep.c (i386_collect_fpregset): Fix comment.
|
||||||
|
@ -2559,8 +2559,9 @@ which its expression is valid.\n");
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get a bpstat associated with having just stopped at address
|
/* Get a bpstat associated with having just stopped at address
|
||||||
BP_ADDR in thread PTID. STOPPED_BY_WATCHPOINT is true if the
|
BP_ADDR in thread PTID. STOPPED_BY_WATCHPOINT is 1 if the
|
||||||
target thinks we stopped due to a hardware watchpoint. */
|
target thinks we stopped due to a hardware watchpoint, 0 if we
|
||||||
|
know we did not trigger a hardware watchpoint, and -1 if we do not know. */
|
||||||
|
|
||||||
/* Determine whether we stopped at a breakpoint, etc, or whether we
|
/* 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:
|
don't understand this stop. Result is a chain of bpstat's such that:
|
||||||
@ -2593,15 +2594,10 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid, int stopped_by_watchpoint)
|
|||||||
if (!breakpoint_enabled (b) && b->enable_state != bp_permanent)
|
if (!breakpoint_enabled (b) && b->enable_state != bp_permanent)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Hardware watchpoints are treated as non-existent if the reason we
|
|
||||||
stopped wasn't a hardware watchpoint (we didn't stop on some data
|
|
||||||
address). Otherwise gdb won't stop on a break instruction in the code
|
|
||||||
(not from a breakpoint) when a hardware watchpoint has been defined. */
|
|
||||||
if (b->type != bp_watchpoint
|
if (b->type != bp_watchpoint
|
||||||
&& !((b->type == bp_hardware_watchpoint
|
&& b->type != bp_hardware_watchpoint
|
||||||
|| b->type == bp_read_watchpoint
|
&& b->type != bp_read_watchpoint
|
||||||
|| b->type == bp_access_watchpoint)
|
&& b->type != bp_access_watchpoint
|
||||||
&& stopped_by_watchpoint)
|
|
||||||
&& b->type != bp_hardware_breakpoint
|
&& b->type != bp_hardware_breakpoint
|
||||||
&& b->type != bp_catch_fork
|
&& b->type != bp_catch_fork
|
||||||
&& b->type != bp_catch_vfork
|
&& b->type != bp_catch_vfork
|
||||||
@ -2617,6 +2613,18 @@ bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid, int stopped_by_watchpoint)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Continuable hardware watchpoints are treated as non-existent if the
|
||||||
|
reason we stopped wasn't a hardware watchpoint (we didn't stop on
|
||||||
|
some data address). Otherwise gdb won't stop on a break instruction
|
||||||
|
in the code (not from a breakpoint) when a hardware watchpoint has
|
||||||
|
been defined. */
|
||||||
|
|
||||||
|
if ((b->type == bp_hardware_watchpoint
|
||||||
|
|| b->type == bp_read_watchpoint
|
||||||
|
|| b->type == bp_access_watchpoint)
|
||||||
|
&& !stopped_by_watchpoint)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (b->type == bp_hardware_breakpoint)
|
if (b->type == bp_hardware_breakpoint)
|
||||||
{
|
{
|
||||||
if (b->loc->address != bp_addr)
|
if (b->loc->address != bp_addr)
|
||||||
|
@ -1252,7 +1252,7 @@ handle_inferior_event (struct execution_control_state *ecs)
|
|||||||
defined in the file "config/pa/nm-hppah.h", accesses the variable
|
defined in the file "config/pa/nm-hppah.h", accesses the variable
|
||||||
indirectly. Mutter something rude about the HP merge. */
|
indirectly. Mutter something rude about the HP merge. */
|
||||||
int sw_single_step_trap_p = 0;
|
int sw_single_step_trap_p = 0;
|
||||||
int stopped_by_watchpoint = 0;
|
int stopped_by_watchpoint = -1; /* Mark as unknown. */
|
||||||
|
|
||||||
/* Cache the last pid/waitstatus. */
|
/* Cache the last pid/waitstatus. */
|
||||||
target_last_wait_ptid = ecs->ptid;
|
target_last_wait_ptid = ecs->ptid;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user