From: Pedro Alves Date: Mon, 22 Sep 2008 15:26:53 +0000 (+0000) Subject: * infrun.c (follow_exec): Don't do a generic mourn. Instead X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6ca15a4b218da0eb45fd099f8662a0c3388b7eda;p=deliverable%2Fbinutils-gdb.git * infrun.c (follow_exec): Don't do a generic mourn. Instead inline the required bits. * breakpoint.h (enum inf_context): Add inf_execd. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 358cca7dff..e0b3683cac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2008-09-22 Pedro Alves + + * 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 * infrun.c (handle_inferior_event): In the follow exec case, diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 8bafc93aa0..db6e9724c8 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -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. diff --git a/gdb/infrun.c b/gdb/infrun.c index 3331152af2..4b4df8faba 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -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) {