diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-09-22 01:16:50 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-09-22 01:16:50 +0000 |
commit | cb6b02027c32b484c6a9bf3c348333ab6501926b (patch) | |
tree | ee7a86d7d53701e58ab8f91665893c04d7a684de /gdb/breakpoint.c | |
parent | 817ac7f82baa6b8bdb855a429eed3b1305034331 (diff) | |
download | gdb-cb6b02027c32b484c6a9bf3c348333ab6501926b.zip gdb-cb6b02027c32b484c6a9bf3c348333ab6501926b.tar.gz gdb-cb6b02027c32b484c6a9bf3c348333ab6501926b.tar.bz2 |
* breakpoint.h, breakpoint.c (bpstat_stop_status): Add new argument
not_a_breakpoint.
* infrun.c (wait_for_inferior): Pass it. Also consolidate the
test of whether we are stepping into a CURRENTLY_STEPPING macro.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 6facde0..faa3da4 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1003,14 +1003,18 @@ print_it_noop (bs) return -1; } +/* Get a bpstat associated with having just stopped at address *PC + and frame address FRAME_ADDRESS. Update *PC to point at the + breakpoint (if we hit a breakpoint). NOT_A_BREAKPOINT is nonzero + if this is known to not be a real breakpoint (it could still be a + watchpoint, though). */ + /* 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: if we don't understand the stop, the result is a null pointer. - if we understand why we stopped, the result is not null, and - the first element of the chain contains summary "stop" and - "print" flags for the whole chain. + if we understand why we stopped, the result is not null. Each element of the chain refers to a particular breakpoint or watchpoint at which we have stopped. (We may have stopped for @@ -1021,11 +1025,11 @@ print_it_noop (bs) */ - bpstat -bpstat_stop_status (pc, frame_address) +bpstat_stop_status (pc, frame_address, not_a_breakpoint) CORE_ADDR *pc; FRAME_ADDR frame_address; + int not_a_breakpoint; { register struct breakpoint *b; CORE_ADDR bp_addr; @@ -1049,6 +1053,9 @@ bpstat_stop_status (pc, frame_address) if (b->type != bp_watchpoint && b->address != bp_addr) continue; + if (b->type != bp_watchpoint && not_a_breakpoint) + continue; + /* Come here if it's a watchpoint, or if the break address matches */ bs = bpstat_alloc (b, bs); /* Alloc a bpstat to explain stop */ |