aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-09-22 01:16:50 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-09-22 01:16:50 +0000
commitcb6b02027c32b484c6a9bf3c348333ab6501926b (patch)
treeee7a86d7d53701e58ab8f91665893c04d7a684de /gdb/breakpoint.c
parent817ac7f82baa6b8bdb855a429eed3b1305034331 (diff)
downloadgdb-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.c17
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 */