* target.c (update_current_target): Do not inherit to_open
authorUlrich Weigand <uweigand@de.ibm.com>
Fri, 5 Sep 2008 11:50:57 +0000 (11:50 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Fri, 5 Sep 2008 11:50:57 +0000 (11:50 +0000)
or to_close.
(pop_target): Call target_close on target_stack instead
of current_target.
(pop_all_targets_above): Likewise.

gdb/ChangeLog
gdb/target.c

index f7870b8586a6b223fa6b6461239d29de689a4abf..d8e6e5b5132103b7ce6aa730d8ef3a9224174a7d 100644 (file)
@@ -1,3 +1,11 @@
+2008-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * target.c (update_current_target): Do not inherit to_open
+       or to_close.
+       (pop_target): Call target_close on target_stack instead
+       of current_target.
+       (pop_all_targets_above): Likewise.
+
 2008-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * gnu-v3-abi.c (gnuv3_decode_method_ptr): New function.
index 4f8bffa234d316c457f0159fa24a80cc860425d9..7b5596a69069ca518ed6704abec3660bae5721b6 100644 (file)
@@ -385,8 +385,8 @@ update_current_target (void)
       INHERIT (to_shortname, t);
       INHERIT (to_longname, t);
       INHERIT (to_doc, t);
-      INHERIT (to_open, t);
-      INHERIT (to_close, t);
+      /* Do not inherit to_open.  */
+      /* Do not inherit to_close.  */
       INHERIT (to_attach, t);
       INHERIT (to_post_attach, t);
       INHERIT (to_attach_no_wait, t);
@@ -784,7 +784,7 @@ unpush_target (struct target_ops *t)
 void
 pop_target (void)
 {
-  target_close (&current_target, 0);   /* Let it clean up */
+  target_close (target_stack, 0);      /* Let it clean up */
   if (unpush_target (target_stack) == 1)
     return;
 
@@ -799,12 +799,12 @@ pop_all_targets_above (enum strata above_stratum, int quitting)
 {
   while ((int) (current_target.to_stratum) > (int) above_stratum)
     {
-      target_close (&current_target, quitting);
+      target_close (target_stack, quitting);
       if (!unpush_target (target_stack))
        {
          fprintf_unfiltered (gdb_stderr,
                              "pop_all_targets couldn't find target %s\n",
-                             current_target.to_shortname);
+                             target_stack->to_shortname);
          internal_error (__FILE__, __LINE__,
                          _("failed internal consistency check"));
          break;