This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfc, rfa/doc] Multi-threaded watchpoint improvements


On Thu, Apr 17, 2008 at 01:04:56AM +0200, Andreas Schwab wrote:
> infrun: infwait_nonstep_watch_state
> infrun: TARGET_WAITKIND_STOPPED
> infrun: stop_pc = 0x100004b0
> infrun: random signal 5

Thanks, I can see the problem.  stepped_after_stopped_by_watchpoint is
set, but nothing is using that to indicate that we should report the
watchpoint.

We need to communicate this to bpstat_stop_status again after the
step.  It's supposed to happen automatically, because only a call to
watchpoints_triggered ever clears the watchpoint_triggered flag.
How is it getting lost?  I assume that it is getting lost; you
could set a breakpoint on bpstat_stop_status when it is called
just before the "random signal 5", after infwait_nonstep_watch_state,
and check.

I wonder if this could be related to Vladimir's changes to watchpoint
locations.  No, the flag is on struct breakpoint, not struct
bp_location.  I'm mystified.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]