diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e455c93418..ecda3d593f 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_ours_for_output. + * 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 81ea7e87a9..b945268004 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -254,6 +254,18 @@ tdefault_terminal_inferior (struct target_ops *self) { } +static void +delegate_terminal_ours_for_output (struct target_ops *self) +{ + self = self->beneath; + self->to_terminal_ours_for_output (self); +} + +static void +tdefault_terminal_ours_for_output (struct target_ops *self) +{ +} + static void delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2) { @@ -361,6 +373,8 @@ install_delegators (struct target_ops *ops) ops->to_terminal_init = delegate_terminal_init; if (ops->to_terminal_inferior == NULL) ops->to_terminal_inferior = delegate_terminal_inferior; + if (ops->to_terminal_ours_for_output == NULL) + ops->to_terminal_ours_for_output = delegate_terminal_ours_for_output; if (ops->to_rcmd == NULL) ops->to_rcmd = delegate_rcmd; if (ops->to_can_async_p == NULL) @@ -400,6 +414,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_can_accel_watchpoint_condition = tdefault_can_accel_watchpoint_condition; ops->to_terminal_init = tdefault_terminal_init; ops->to_terminal_inferior = tdefault_terminal_inferior; + ops->to_terminal_ours_for_output = tdefault_terminal_ours_for_output; 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 7ff4f989e0..d3d4085384 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -622,7 +622,7 @@ update_current_target (void) /* Do not inherit to_masked_watch_num_registers. */ /* Do not inherit to_terminal_init. */ /* Do not inherit to_terminal_inferior. */ - INHERIT (to_terminal_ours_for_output, t); + /* Do not inherit to_terminal_ours_for_output. */ INHERIT (to_terminal_ours, t); INHERIT (to_terminal_save_ours, t); INHERIT (to_terminal_info, 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_ours_for_output, - (void (*) (struct target_ops *)) - target_ignore); de_fault (to_terminal_ours, (void (*) (struct target_ops *)) target_ignore); diff --git a/gdb/target.h b/gdb/target.h index f3c3dd90b1..24cfe2b560 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -504,7 +504,8 @@ struct target_ops TARGET_DEFAULT_IGNORE (); void (*to_terminal_inferior) (struct target_ops *) TARGET_DEFAULT_IGNORE (); - void (*to_terminal_ours_for_output) (struct target_ops *); + void (*to_terminal_ours_for_output) (struct target_ops *) + TARGET_DEFAULT_IGNORE (); void (*to_terminal_ours) (struct target_ops *); void (*to_terminal_save_ours) (struct target_ops *); void (*to_terminal_info) (struct target_ops *, const char *, int);