aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/infrun.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b4b455c..583e090 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-06 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid.
+ (handle_inferior_event): Clear stop_stack_dummy earlier.
+
2007-12-06 Jim Blandy <jimb@codesourcery.com>
* addrmap.c (addrmap_splay_tree_remove): New function.
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 9fc79b6..44a18ad 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;