[patch/rfc] Only unpush open targets

Andrew Cagney cagney@gnu.org
Mon Jan 5 22:31:00 GMT 2004


> 2003-12-06  Andrew Cagney  <cagney@redhat.com>
> 
> 	* target.c (unpush_target): Only close a target that is in the
> 	target stack.

I've [finally] checked this in.

Andrew

> Index: target.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/target.c,v
> retrieving revision 1.67
> diff -u -r1.67 target.c
> --- target.c	23 Nov 2003 20:41:17 -0000	1.67
> +++ target.c	7 Dec 2003 03:15:50 -0000
> @@ -709,8 +709,6 @@
>    struct target_ops **cur;
>    struct target_ops *tmp;
>  
> -  target_close (t, 0);
> -
>    /* Look for the specified target.  Note that we assume that a target
>       can only occur once in the target stack. */
>  
> @@ -722,6 +720,14 @@
>  
>    if ((*cur) == NULL)
>      return 0;			/* Didn't find target_ops, quit now */
> +
> +  /* NOTE: cagney/2003-12-06: In '94 the close call was made
> +     unconditional by moving it to before the above check that the
> +     target was in the target stack (something about "Change the way
> +     pushing and popping of targets work to support target overlays
> +     and inheritance").  This doesn't make much sense - only open
> +     targets should be closed.  */
> +  target_close (t, 0);
>  
>    /* Unchain the target */
>    tmp = (*cur);




More information about the Gdb-patches mailing list