aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-03-02 17:49:45 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-03-02 17:49:45 +0000
commitd1c0c6cf7bf431eccf947dce71414c01abdef0bc (patch)
tree85c384d058327e23a28a2e2780644a682b060252 /gdb/infrun.c
parentd8e882a89934a7533a84c184c3538a1d3bac2bf2 (diff)
downloadgdb-d1c0c6cf7bf431eccf947dce71414c01abdef0bc.zip
gdb-d1c0c6cf7bf431eccf947dce71414c01abdef0bc.tar.gz
gdb-d1c0c6cf7bf431eccf947dce71414c01abdef0bc.tar.bz2
* infrun.c (wait_for_inferior): In checking
remove_breakpoints_on_following_step, check through_sigtramp_breakpoint as well as step_resume_breakpoint.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 146621c..453fb26 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -984,9 +984,9 @@ switch_thread:
sr_sal.pc = prev_pc;
sr_sal.symtab = NULL;
sr_sal.line = 0;
- /* We perhaps could set the frame if we kept track of what
- the frame corresponding to prev_pc was. But we don't,
- so don't. */
+ /* We could probably be setting the frame to
+ prev_frame_address; the reason we don't is that it didn't used
+ to exist. */
step_resume_breakpoint =
set_momentary_breakpoint (sr_sal, NULL, bp_step_resume);
if (breakpoints_inserted)
@@ -1281,8 +1281,9 @@ step_into_function:
to one-proceed past a breakpoint. */
/* If we've just finished a special step resume and we don't
want to hit a breakpoint, pull em out. */
- if (step_resume_breakpoint == NULL &&
- remove_breakpoints_on_following_step)
+ if (step_resume_breakpoint == NULL
+ && through_sigtramp_breakpoint == NULL
+ && remove_breakpoints_on_following_step)
{
remove_breakpoints_on_following_step = 0;
remove_breakpoints ();