This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC 21/32] convert to_load


Looks fine.

On 01/13/2014 07:12 PM, Tom Tromey wrote:
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_load.
> 	* target.h (struct target_ops) <to_load>: Use
> 	TARGET_DEFAULT_NORETURN.
> 
> convert to_post_startup_inferior
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_post_startup_inferior.
> 	* target.h (struct target_ops) <to_post_startup_inferior>: Use
> 	TARGET_DEFAULT_IGNORE.
> 
> convert to_insert_fork_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_insert_fork_catchpoint.
> 	* target.h (struct target_ops) <to_insert_fork_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_remove_fork_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_remove_fork_catchpoint.
> 	* target.h (struct target_ops) <to_remove_fork_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_insert_vfork_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_insert_vfork_catchpoint.
> 	* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_remove_vfork_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_remove_vfork_catchpoint.
> 	* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_insert_exec_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_insert_exec_catchpoint.
> 	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_remove_exec_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_insert_exec_catchpoint.
> 	* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_set_syscall_catchpoint
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_set_syscall_catchpoint.
> 	(return_one): Remove.
> 	* target.h (struct target_ops) <to_set_syscall_catchpoint>: Use
> 	TARGET_DEFAULT_RETURN.
> 
> convert to_has_exited
> 
> 2014-01-08  Tom Tromey <tromey@redhat.com>
> 
> 	* target-delegates.c : Rebuild.
> 	* target.c (update_current_target): Don't inherit or default
> 	to_has_exited.
> 	* target.h (struct target_ops) <to_has_exited>: Use
> 	TARGET_DEFAULT_RETURN..
> ---
>  gdb/ChangeLog          |  81 +++++++++++++++++++++++++
>  gdb/target-delegates.c | 159 +++++++++++++++++++++++++++++++++++++++++++++++++
>  gdb/target.c           |  58 ++++--------------
>  gdb/target.h           |  30 ++++++----
>  4 files changed, 270 insertions(+), 58 deletions(-)
> 
> diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
> index 00dc2c5..7abb393 100644
> --- a/gdb/target-delegates.c
> +++ b/gdb/target-delegates.c
> @@ -298,6 +298,135 @@ delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
>  }
>  
>  static void
> +delegate_load (struct target_ops *self, char *arg1, int arg2)
> +{
> +  self = self->beneath;
> +  self->to_load (self, arg1, arg2);
> +}
> +
> +static void
> +tdefault_load (struct target_ops *self, char *arg1, int arg2)
> +{
> +  tcomplain ();
> +}
> +
> +static void
> +delegate_post_startup_inferior (struct target_ops *self, ptid_t arg1)
> +{
> +  self = self->beneath;
> +  self->to_post_startup_inferior (self, arg1);
> +}
> +
> +static void
> +tdefault_post_startup_inferior (struct target_ops *self, ptid_t arg1)
> +{
> +}
> +
> +static int
> +delegate_insert_fork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_insert_fork_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_insert_fork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_remove_fork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_remove_fork_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_insert_vfork_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_remove_vfork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_remove_vfork_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_remove_vfork_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_insert_exec_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_insert_exec_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_insert_exec_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_remove_exec_catchpoint (struct target_ops *self, int arg1)
> +{
> +  self = self->beneath;
> +  return self->to_remove_exec_catchpoint (self, arg1);
> +}
> +
> +static int
> +tdefault_remove_exec_catchpoint (struct target_ops *self, int arg1)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
> +{
> +  self = self->beneath;
> +  return self->to_set_syscall_catchpoint (self, arg1, arg2, arg3, arg4, arg5);
> +}
> +
> +static int
> +tdefault_set_syscall_catchpoint (struct target_ops *self, int arg1, int arg2, int arg3, int arg4, int *arg5)
> +{
> +  return 1;
> +}
> +
> +static int
> +delegate_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
> +{
> +  self = self->beneath;
> +  return self->to_has_exited (self, arg1, arg2, arg3);
> +}
> +
> +static int
> +tdefault_has_exited (struct target_ops *self, int arg1, int arg2, int *arg3)
> +{
> +  return 0;
> +}
> +
> +static void
>  delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2)
>  {
>    self = self->beneath;
> @@ -412,6 +541,26 @@ install_delegators (struct target_ops *ops)
>      ops->to_terminal_save_ours = delegate_terminal_save_ours;
>    if (ops->to_terminal_info == NULL)
>      ops->to_terminal_info = delegate_terminal_info;
> +  if (ops->to_load == NULL)
> +    ops->to_load = delegate_load;
> +  if (ops->to_post_startup_inferior == NULL)
> +    ops->to_post_startup_inferior = delegate_post_startup_inferior;
> +  if (ops->to_insert_fork_catchpoint == NULL)
> +    ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint;
> +  if (ops->to_remove_fork_catchpoint == NULL)
> +    ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint;
> +  if (ops->to_insert_vfork_catchpoint == NULL)
> +    ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint;
> +  if (ops->to_remove_vfork_catchpoint == NULL)
> +    ops->to_remove_vfork_catchpoint = delegate_remove_vfork_catchpoint;
> +  if (ops->to_insert_exec_catchpoint == NULL)
> +    ops->to_insert_exec_catchpoint = delegate_insert_exec_catchpoint;
> +  if (ops->to_remove_exec_catchpoint == NULL)
> +    ops->to_remove_exec_catchpoint = delegate_remove_exec_catchpoint;
> +  if (ops->to_set_syscall_catchpoint == NULL)
> +    ops->to_set_syscall_catchpoint = delegate_set_syscall_catchpoint;
> +  if (ops->to_has_exited == NULL)
> +    ops->to_has_exited = delegate_has_exited;
>    if (ops->to_rcmd == NULL)
>      ops->to_rcmd = delegate_rcmd;
>    if (ops->to_can_async_p == NULL)
> @@ -455,6 +604,16 @@ install_dummy_methods (struct target_ops *ops)
>    ops->to_terminal_ours = tdefault_terminal_ours;
>    ops->to_terminal_save_ours = tdefault_terminal_save_ours;
>    ops->to_terminal_info = default_terminal_info;
> +  ops->to_load = tdefault_load;
> +  ops->to_post_startup_inferior = tdefault_post_startup_inferior;
> +  ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
> +  ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint;
> +  ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint;
> +  ops->to_remove_vfork_catchpoint = tdefault_remove_vfork_catchpoint;
> +  ops->to_insert_exec_catchpoint = tdefault_insert_exec_catchpoint;
> +  ops->to_remove_exec_catchpoint = tdefault_remove_exec_catchpoint;
> +  ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint;
> +  ops->to_has_exited = tdefault_has_exited;
>    ops->to_rcmd = default_rcmd;
>    ops->to_can_async_p = find_default_can_async_p;
>    ops->to_is_async_p = find_default_is_async_p;
> diff --git a/gdb/target.c b/gdb/target.c
> index f77fb77..076e4be 100644
> --- a/gdb/target.c
> +++ b/gdb/target.c
> @@ -63,8 +63,6 @@ static int nomemory (CORE_ADDR, char *, int, int, struct target_ops *);
>  
>  static int return_zero (void);
>  
> -static int return_one (void);
> -
>  static int return_minus_one (void);
>  
>  void target_ignore (void);
> @@ -623,18 +621,18 @@ update_current_target (void)
>        /* Do not inherit to_terminal_save_ours.  */
>        /* Do not inherit to_terminal_info.  */
>        /* Do not inherit to_kill.  */
> -      INHERIT (to_load, t);
> +      /* Do not inherit to_load.  */
>        /* Do no inherit to_create_inferior.  */
> -      INHERIT (to_post_startup_inferior, t);
> -      INHERIT (to_insert_fork_catchpoint, t);
> -      INHERIT (to_remove_fork_catchpoint, t);
> -      INHERIT (to_insert_vfork_catchpoint, t);
> -      INHERIT (to_remove_vfork_catchpoint, t);
> +      /* Do not inherit to_post_startup_inferior.  */
> +      /* Do not inherit to_insert_fork_catchpoint.  */
> +      /* Do not inherit to_remove_fork_catchpoint.  */
> +      /* Do not inherit to_insert_vfork_catchpoint.  */
> +      /* Do not inherit to_remove_vfork_catchpoint.  */
>        /* Do not inherit to_follow_fork.  */
> -      INHERIT (to_insert_exec_catchpoint, t);
> -      INHERIT (to_remove_exec_catchpoint, t);
> -      INHERIT (to_set_syscall_catchpoint, t);
> -      INHERIT (to_has_exited, t);
> +      /* Do not inherit to_insert_exec_catchpoint.  */
> +      /* Do not inherit to_remove_exec_catchpoint.  */
> +      /* Do not inherit to_set_syscall_catchpoint.  */
> +      /* Do not inherit to_has_exited.  */
>        /* Do not inherit to_mourn_inferior.  */
>        INHERIT (to_can_run, t);
>        /* Do not inherit to_pass_signals.  */
> @@ -730,36 +728,6 @@ update_current_target (void)
>  	    (int (*) (CORE_ADDR, gdb_byte *, int, int,
>  		      struct mem_attrib *, struct target_ops *))
>  	    nomemory);
> -  de_fault (to_load,
> -	    (void (*) (struct target_ops *, char *, int))
> -	    tcomplain);
> -  de_fault (to_post_startup_inferior,
> -	    (void (*) (struct target_ops *, ptid_t))
> -	    target_ignore);
> -  de_fault (to_insert_fork_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_remove_fork_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_insert_vfork_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_remove_vfork_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_insert_exec_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_remove_exec_catchpoint,
> -	    (int (*) (struct target_ops *, int))
> -	    return_one);
> -  de_fault (to_set_syscall_catchpoint,
> -	    (int (*) (struct target_ops *, int, int, int, int, int *))
> -	    return_one);
> -  de_fault (to_has_exited,
> -	    (int (*) (struct target_ops *, int, int, int *))
> -	    return_zero);
>    de_fault (to_can_run,
>  	    (int (*) (struct target_ops *))
>  	    return_zero);
> @@ -3542,12 +3510,6 @@ return_zero (void)
>  }
>  
>  static int
> -return_one (void)
> -{
> -  return 1;
> -}
> -
> -static int
>  return_minus_one (void)
>  {
>    return -1;
> diff --git a/gdb/target.h b/gdb/target.h
> index e16ff52..6a563f7 100644
> --- a/gdb/target.h
> +++ b/gdb/target.h
> @@ -499,20 +499,30 @@ struct target_ops
>      void (*to_terminal_info) (struct target_ops *, const char *, int)
>        TARGET_DEFAULT_FUNC (default_terminal_info);
>      void (*to_kill) (struct target_ops *);
> -    void (*to_load) (struct target_ops *, char *, int);
> +    void (*to_load) (struct target_ops *, char *, int)
> +      TARGET_DEFAULT_NORETURN (tcomplain ());
>      void (*to_create_inferior) (struct target_ops *, 
>  				char *, char *, char **, int);
> -    void (*to_post_startup_inferior) (struct target_ops *, ptid_t);
> -    int (*to_insert_fork_catchpoint) (struct target_ops *, int);
> -    int (*to_remove_fork_catchpoint) (struct target_ops *, int);
> -    int (*to_insert_vfork_catchpoint) (struct target_ops *, int);
> -    int (*to_remove_vfork_catchpoint) (struct target_ops *, int);
> +    void (*to_post_startup_inferior) (struct target_ops *, ptid_t)
> +      TARGET_DEFAULT_IGNORE ();
> +    int (*to_insert_fork_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
> +    int (*to_remove_fork_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
> +    int (*to_insert_vfork_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
> +    int (*to_remove_vfork_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
>      int (*to_follow_fork) (struct target_ops *, int, int);
> -    int (*to_insert_exec_catchpoint) (struct target_ops *, int);
> -    int (*to_remove_exec_catchpoint) (struct target_ops *, int);
> +    int (*to_insert_exec_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
> +    int (*to_remove_exec_catchpoint) (struct target_ops *, int)
> +      TARGET_DEFAULT_RETURN (1);
>      int (*to_set_syscall_catchpoint) (struct target_ops *,
> -				      int, int, int, int, int *);
> -    int (*to_has_exited) (struct target_ops *, int, int, int *);
> +				      int, int, int, int, int *)
> +      TARGET_DEFAULT_RETURN (1);
> +    int (*to_has_exited) (struct target_ops *, int, int, int *)
> +      TARGET_DEFAULT_RETURN (0);
>      void (*to_mourn_inferior) (struct target_ops *);
>      int (*to_can_run) (struct target_ops *);
>  
> 


-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]