Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: Joel Brobecker <brobecker@adacore.com>
Subject: Re: [RFC] remove target_acknowledge_created_inferior
Date: Tue, 28 Dec 2010 10:03:00 -0000	[thread overview]
Message-ID: <201012280853.51346.pedro@codesourcery.com> (raw)
In-Reply-To: <1293522390-27703-1-git-send-email-brobecker@adacore.com>

On Tuesday 28 December 2010 07:46:30, Joel Brobecker wrote:
> This target_ops routine appears to be unused in practice, so this patch
> removes it.  This is an RFC because I'm wondering whether we might want
> to keep this anyway, if we know of at least one platform where this would
> be necessary?

The details of target_create_inferior/fork_child changed enough since
this was needed, that I don't think it's necessary anywhere anymore.
A target can just call whatever it would place there after fork_inferior
returning.  I say just go for it.  Easy to add back if proven necessary.

> 
> gdb/ChangeLog:
> 
>         * inf-child.c (inf_child_acknowledge_created_inferior): Delete.
>         (inf_child_target): Do not set t->to_acknowledge_created_inferior.
>         * inf-ptrace.c (inf_ptrace_create_inferior): Remove call to
>         target_acknowledge_created_inferior.
>         * inf-ttrace.c (inf_ttrace_him): Likewise.
>         * target.h (struct target_ops): Delete to_acknowledge_created_inferior
>         field.
>         (target_acknowledge_created_inferior): Delete.
>         * target.c (update_current_target): Remove setting of
>         to_acknowledge_created_inferior field. Do default value for that
>         field either.
>         (debug_to_acknowledge_created_inferior): Delete.
>         (setup_target_debug): Remove setting of
>         current_target.to_acknowledge_created_inferior.
> 
> Tested on x86_64-linux.
> 
> ---
>  gdb/inf-child.c  |    8 --------
>  gdb/inf-ptrace.c |    7 -------
>  gdb/inf-ttrace.c |    7 -------
>  gdb/target.c     |   14 --------------
>  gdb/target.h     |    7 -------
>  5 files changed, 0 insertions(+), 43 deletions(-)
> 
> diff --git a/gdb/inf-child.c b/gdb/inf-child.c
> index 72a18e4..ef652b8 100644
> --- a/gdb/inf-child.c
> +++ b/gdb/inf-child.c
> @@ -88,13 +88,6 @@ inf_child_post_startup_inferior (ptid_t ptid)
>  }
>  
>  static void
> -inf_child_acknowledge_created_inferior (int pid)
> -{
> -  /* This version of Unix doesn't require a meaningful "acknowledge
> -     created inferior" operation by a debugger.  */
> -}
> -
> -static void
>  inf_child_insert_fork_catchpoint (int pid)
>  {
>    /* This version of Unix doesn't support notification of fork
> @@ -192,7 +185,6 @@ inf_child_target (void)
>    t->to_terminal_ours = terminal_ours;
>    t->to_terminal_info = child_terminal_info;
>    t->to_post_startup_inferior = inf_child_post_startup_inferior;
> -  t->to_acknowledge_created_inferior = inf_child_acknowledge_created_inferior;
>    t->to_insert_fork_catchpoint = inf_child_insert_fork_catchpoint;
>    t->to_remove_fork_catchpoint = inf_child_remove_fork_catchpoint;
>    t->to_insert_vfork_catchpoint = inf_child_insert_vfork_catchpoint;
> diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
> index 440f2ed..d64c519 100644
> --- a/gdb/inf-ptrace.c
> +++ b/gdb/inf-ptrace.c
> @@ -139,13 +139,6 @@ inf_ptrace_create_inferior (struct target_ops *ops,
>    if (! ops_already_pushed)
>      discard_cleanups (back_to);
>  
> -  /* On some targets, there must be some explicit synchronization
> -     between the parent and child processes after the debugger
> -     forks, and before the child execs the debuggee program.  This
> -     call basically gives permission for the child to exec.  */
> -
> -  target_acknowledge_created_inferior (pid);
> -
>    /* START_INFERIOR_TRAPS_EXPECTED is defined in inferior.h, and will
>       be 1 or 2 depending on whether we're starting without or with a
>       shell.  */
> diff --git a/gdb/inf-ttrace.c b/gdb/inf-ttrace.c
> index aa0462f..dd1c4ba 100644
> --- a/gdb/inf-ttrace.c
> +++ b/gdb/inf-ttrace.c
> @@ -625,13 +625,6 @@ inf_ttrace_him (struct target_ops *ops, int pid)
>  
>    push_target (ops);
>  
> -  /* On some targets, there must be some explicit synchronization
> -     between the parent and child processes after the debugger forks,
> -     and before the child execs the debuggee program.  This call
> -     basically gives permission for the child to exec.  */
> -
> -  target_acknowledge_created_inferior (pid);
> -
>    /* START_INFERIOR_TRAPS_EXPECTED is defined in inferior.h, and will
>       be 1 or 2 depending on whether we're starting without or with a
>       shell.  */
> diff --git a/gdb/target.c b/gdb/target.c
> index 5984125..91a3841 100644
> --- a/gdb/target.c
> +++ b/gdb/target.c
> @@ -624,7 +624,6 @@ update_current_target (void)
>        INHERIT (to_lookup_symbol, t);
>        /* Do no inherit to_create_inferior.  */
>        INHERIT (to_post_startup_inferior, t);
> -      INHERIT (to_acknowledge_created_inferior, t);
>        INHERIT (to_insert_fork_catchpoint, t);
>        INHERIT (to_remove_fork_catchpoint, t);
>        INHERIT (to_insert_vfork_catchpoint, t);
> @@ -778,9 +777,6 @@ update_current_target (void)
>    de_fault (to_post_startup_inferior,
>  	    (void (*) (ptid_t))
>  	    target_ignore);
> -  de_fault (to_acknowledge_created_inferior,
> -	    (void (*) (int))
> -	    target_ignore);
>    de_fault (to_insert_fork_catchpoint,
>  	    (void (*) (int))
>  	    tcomplain);
> @@ -3649,15 +3645,6 @@ debug_to_post_startup_inferior (ptid_t ptid)
>  }
>  
>  static void
> -debug_to_acknowledge_created_inferior (int pid)
> -{
> -  debug_target.to_acknowledge_created_inferior (pid);
> -
> -  fprintf_unfiltered (gdb_stdlog, "target_acknowledge_created_inferior (%d)\n",
> -		      pid);
> -}
> -
> -static void
>  debug_to_insert_fork_catchpoint (int pid)
>  {
>    debug_target.to_insert_fork_catchpoint (pid);
> @@ -3831,7 +3818,6 @@ setup_target_debug (void)
>    current_target.to_load = debug_to_load;
>    current_target.to_lookup_symbol = debug_to_lookup_symbol;
>    current_target.to_post_startup_inferior = debug_to_post_startup_inferior;
> -  current_target.to_acknowledge_created_inferior = debug_to_acknowledge_created_inferior;
>    current_target.to_insert_fork_catchpoint = debug_to_insert_fork_catchpoint;
>    current_target.to_remove_fork_catchpoint = debug_to_remove_fork_catchpoint;
>    current_target.to_insert_vfork_catchpoint = debug_to_insert_vfork_catchpoint;
> diff --git a/gdb/target.h b/gdb/target.h
> index 7290d90..ea27b2c 100644
> --- a/gdb/target.h
> +++ b/gdb/target.h
> @@ -467,7 +467,6 @@ struct target_ops
>      void (*to_create_inferior) (struct target_ops *, 
>  				char *, char *, char **, int);
>      void (*to_post_startup_inferior) (ptid_t);
> -    void (*to_acknowledge_created_inferior) (int);
>      void (*to_insert_fork_catchpoint) (int);
>      int (*to_remove_fork_catchpoint) (int);
>      void (*to_insert_vfork_catchpoint) (int);
> @@ -1026,12 +1025,6 @@ void target_create_inferior (char *exec_file, char *args,
>  #define target_post_startup_inferior(ptid) \
>       (*current_target.to_post_startup_inferior) (ptid)
>  
> -/* On some targets, the sequence of starting up an inferior requires
> -   some synchronization between gdb and the new inferior process, PID.  */
> -
> -#define target_acknowledge_created_inferior(pid) \
> -     (*current_target.to_acknowledge_created_inferior) (pid)
> -
>  /* On some targets, we can catch an inferior fork or vfork event when
>     it occurs.  These functions insert/remove an already-created
>     catchpoint for such events.  */
> 


-- 
Pedro Alves


  reply	other threads:[~2010-12-28  8:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-28  8:54 Joel Brobecker
2010-12-28 10:03 ` Pedro Alves [this message]
2010-12-28 12:56   ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201012280853.51346.pedro@codesourcery.com \
    --to=pedro@codesourcery.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox