* infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid.
authorDaniel Jacobowitz <drow@false.org>
Fri, 7 Dec 2007 00:44:27 +0000 (00:44 +0000)
committerDaniel Jacobowitz <drow@false.org>
Fri, 7 Dec 2007 00:44:27 +0000 (00:44 +0000)
(handle_inferior_event): Clear stop_stack_dummy earlier.

gdb/ChangeLog
gdb/infrun.c

index b4b455c3de8d9cfe076b9a37cc586a80af59295f..583e090d2c6d961354f8022b9294e4b1871e7583 100644 (file)
@@ -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.
index 9fc79b6f0c8e4d7e23adb8b2e8d773744d889f34..44a18ad02f8bcea6f0e67655c798fdd3e57b65a2 100644 (file)
@@ -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;
 }
 \f
 /* 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;