diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f3e918b4d3..268d560ebf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default + to_terminal_save_ours. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_IGNORE. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 89c6cd0d0d..d7e4873673 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -278,6 +278,18 @@ tdefault_terminal_ours (struct target_ops *self) { } +static void +delegate_terminal_save_ours (struct target_ops *self) +{ + self = self->beneath; + self->to_terminal_save_ours (self); +} + +static void +tdefault_terminal_save_ours (struct target_ops *self) +{ +} + static void delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2) { @@ -389,6 +401,8 @@ install_delegators (struct target_ops *ops) ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output; if (ops->to_terminal_ours == NULL) ops->to_terminal_ours = delegate_terminal_ours; + if (ops->to_terminal_save_ours == NULL) + ops->to_terminal_save_ours = delegate_terminal_save_ours; if (ops->to_rcmd == NULL) ops->to_rcmd = delegate_rcmd; if (ops->to_can_async_p == NULL) @@ -430,6 +444,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_terminal_inferior = tdefault_terminal_inferior; ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output; ops->to_terminal_ours = tdefault_terminal_ours; + ops->to_terminal_save_ours = tdefault_terminal_save_ours; 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 fce0440fc4..ff0eef8f44 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -624,7 +624,7 @@ update_current_target (void) /* Do not inherit to_terminal_inferior. */ /* Do not inherit to_terminal_ours_for_output. */ /* Do not inherit to_terminal_ours. */ - INHERIT (to_terminal_save_ours, t); + /* Do not inherit to_terminal_save_ours. */ INHERIT (to_terminal_info, t); /* Do not inherit to_kill. */ INHERIT (to_load, t); @@ -734,9 +734,6 @@ update_current_target (void) (int (*) (CORE_ADDR, gdb_byte *, int, int, struct mem_attrib *, struct target_ops *)) nomemory); - de_fault (to_terminal_save_ours, - (void (*) (struct target_ops *)) - target_ignore); de_fault (to_terminal_info, default_terminal_info); de_fault (to_load, diff --git a/gdb/target.h b/gdb/target.h index 94b1047fa4..317a5342e0 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -508,7 +508,8 @@ struct target_ops TARGET_DEFAULT_IGNORE (); void (*to_terminal_ours) (struct target_ops *) TARGET_DEFAULT_IGNORE (); - void (*to_terminal_save_ours) (struct target_ops *); + void (*to_terminal_save_ours) (struct target_ops *) + TARGET_DEFAULT_IGNORE (); void (*to_terminal_info) (struct target_ops *, const char *, int); void (*to_kill) (struct target_ops *); void (*to_load) (struct target_ops *, char *, int);