Display of read/access watchpoints when HAVE_NONSTEPPABLE_WATCHPOINT

Eli Zaretskii eliz@elta.co.il
Wed Oct 8 10:26:00 GMT 2003


> Date: Wed, 08 Oct 2003 10:50:25 +0200
> From: Orjan Friberg <orjan.friberg@axis.com>
> 
> The problem seems to be that target_stopped_data_address () is called in 
> bp_stop_status () *after* the single-step over the disabled breakpoint 
> has been carried out, at which point the target is no longer stopped due 
> to a hardware watchpoint (but due to the single-step).  Consequently, 
> target_stopped_data_address () returns 0, and gdb thinks that the 
> watchpoint didn't hit.  I can't see that any other targets keep the last 
> "stopped data address" until the next hardware watchpoint is hit (which 
> would make the address still available after the single-step).

Perhaps none of the targets that support hardware read and access
watchpoints define HAVE_NONSTEPPABLE_WATCHPOINT?

Anyway, from your description, it is quite clear that if a target
defines HAVE_NONSTEPPABLE_WATCHPOINT, GDB must call
target_stopped_data_address before it disables the watchpoint and
steps over it, or else the target end should store the necessary info
somewhere and deliver it when target_stopped_data_address is called.

In other words, it sounds like a bug.



More information about the Gdb-patches mailing list