From d1c0c6cf7bf431eccf947dce71414c01abdef0bc Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Wed, 2 Mar 1994 17:49:45 +0000 Subject: [PATCH] * infrun.c (wait_for_inferior): In checking remove_breakpoints_on_following_step, check through_sigtramp_breakpoint as well as step_resume_breakpoint. --- gdb/ChangeLog | 6 ++++++ gdb/infrun.c | 11 ++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2faf6c29d7d..2bcd0fb2a4d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Wed Mar 2 09:17:55 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * infrun.c (wait_for_inferior): In checking + remove_breakpoints_on_following_step, check + through_sigtramp_breakpoint as well as step_resume_breakpoint. + Tue Mar 1 16:22:56 1994 Jim Kingdon (kingdon@deneb.cygnus.com) * os9kread.c (os9k_process_one_symbol): Rename diff --git a/gdb/infrun.c b/gdb/infrun.c index 146621c75b5..453fb2664c2 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 (); -- 2.30.2