From ca005067ce1cdbde2f52cc18fa8e75a4e518979d Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Fri, 7 Dec 2007 00:44:27 +0000 Subject: [PATCH] * infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid. (handle_inferior_event): Clear stop_stack_dummy earlier. --- gdb/ChangeLog | 5 +++++ gdb/infrun.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4b455c3de8..583e090d2c6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-12-06 Daniel Jacobowitz + + * infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid. + (handle_inferior_event): Clear stop_stack_dummy earlier. + 2007-12-06 Jim Blandy * addrmap.c (addrmap_splay_tree_remove): New function. diff --git a/gdb/infrun.c b/gdb/infrun.c index 9fc79b6f0c8..44a18ad02f8 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -912,6 +912,8 @@ init_wait_for_inferior (void) stepping_past_singlestep_breakpoint = 0; deferred_step_ptid = null_ptid; + + target_last_wait_ptid = minus_one_ptid; } /* This enum encodes possible reasons for doing a target_wait, so that @@ -1275,6 +1277,9 @@ handle_inferior_event (struct execution_control_state *ecs) target_last_wait_ptid = ecs->ptid; target_last_waitstatus = *ecs->wp; + /* Always clear state belonging to the previous time we stopped. */ + stop_stack_dummy = 0; + adjust_pc_after_break (ecs); switch (ecs->infwait_state) @@ -1893,7 +1898,6 @@ handle_inferior_event (struct execution_control_state *ecs) ecs->stepping_over_breakpoint = 0; bpstat_clear (&stop_bpstat); stop_step = 0; - stop_stack_dummy = 0; stop_print_frame = 1; ecs->random_signal = 0; stopped_by_random_signal = 0; -- 2.30.2