* infrun.c (follow_exec): Don't do a generic mourn. Instead
authorPedro Alves <palves@redhat.com>
Mon, 22 Sep 2008 15:26:53 +0000 (15:26 +0000)
committerPedro Alves <palves@redhat.com>
Mon, 22 Sep 2008 15:26:53 +0000 (15:26 +0000)
inline the required bits.
* breakpoint.h (enum inf_context): Add inf_execd.

gdb/ChangeLog
gdb/breakpoint.h
gdb/infrun.c

index 358cca7..e0b3683 100644 (file)
@@ -1,5 +1,11 @@
 2008-09-22  Pedro Alves  <pedro@codesourcery.com>
 
+       * infrun.c (follow_exec): Don't do a generic mourn.  Instead
+       inline the required bits.
+       * breakpoint.h (enum inf_context): Add inf_execd.
+
+2008-09-22  Pedro Alves  <pedro@codesourcery.com>
+
        * infrun.c (handle_inferior_event): In the follow exec case,
        context-switch before doing anything else.
 
index 8bafc93..db6e972 100644 (file)
@@ -663,7 +663,8 @@ enum inf_context
   {
     inf_starting,
     inf_running,
-    inf_exited
+    inf_exited,
+    inf_execd
   };
 
 /* The possible return values for breakpoint_here_p.
index 3331152..4b4df8f 100644 (file)
@@ -331,7 +331,6 @@ follow_inferior_reset_breakpoints (void)
 static void
 follow_exec (ptid_t pid, char *execd_pathname)
 {
-  ptid_t saved_pid = pid;
   struct target_ops *tgt;
   struct thread_info *th = inferior_thread ();
 
@@ -370,9 +369,8 @@ follow_exec (ptid_t pid, char *execd_pathname)
      inferior has essentially been killed & reborn. */
 
   gdb_flush (gdb_stdout);
-  generic_mourn_inferior ();
-  /* Because mourn_inferior resets inferior_ptid. */
-  inferior_ptid = saved_pid;
+
+  breakpoint_init_inferior (inf_execd);
 
   if (gdb_sysroot && *gdb_sysroot)
     {