This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Display of read/access watchpoints when HAVE_NONSTEPPABLE_WATCHPOINT
- From: Orjan Friberg <orjan dot friberg at axis dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 08 Oct 2003 10:50:25 +0200
- Subject: Display of read/access watchpoints when HAVE_NONSTEPPABLE_WATCHPOINT
- Organization: Axis Communications
Hi all,
I'm working on a gdb port for a remote target that has hardware
watchpoint support. I have defined HAVE_NONSTEPPABLE_WATCHPOINT, to
make gdb disable the watchpoint and single-step over it when it's hit.
The basic stuff works fine; the problem I have is the displaying of "Old
value/New value" when a read or access watchpoint is hit. (Normal write
watchpoints are displayed correctly.)
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).
Any suggestions as to what I might have missed, or any insight in how
it's supposed to work would be appreciated.
Thanks,
Orjan
--
Orjan Friberg
Axis Communications