diff options
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/target.c | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f7870b8..d8e6e5b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 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. (gnuv3_print_method_ptr): Use it. (gnuv3_method_ptr_to_value): Likewise. diff --git a/gdb/target.c b/gdb/target.c index 4f8bffa..7b5596a 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -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 (¤t_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 (¤t_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; |