From 6ca15a4b218da0eb45fd099f8662a0c3388b7eda Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 22 Sep 2008 15:26:53 +0000 Subject: [PATCH] * infrun.c (follow_exec): Don't do a generic mourn. Instead inline the required bits. * breakpoint.h (enum inf_context): Add inf_execd. --- gdb/ChangeLog | 6 ++++++ gdb/breakpoint.h | 3 ++- gdb/infrun.c | 6 ++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 358cca7dfff..e0b3683cac7 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 8bafc93aa03..db6e9724c8e 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 3331152af27..4b4df8fabaf 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) { -- 2.30.2