diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4a5c9ea785..5823590d5e 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_download_trace_state_variable. + * target.h (struct target_ops) : + Use TARGET_DEFAULT_NORETURN. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 2e0fddb0c6..c158538b32 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -676,6 +676,19 @@ tdefault_can_download_tracepoint (struct target_ops *self) return 0; } +static void +delegate_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1) +{ + self = self->beneath; + self->to_download_trace_state_variable (self, arg1); +} + +static void +tdefault_download_trace_state_variable (struct target_ops *self, struct trace_state_variable *arg1) +{ + tcomplain (); +} + static int delegate_supports_btrace (struct target_ops *self) { @@ -810,6 +823,8 @@ install_delegators (struct target_ops *ops) ops->to_download_tracepoint = delegate_download_tracepoint; if (ops->to_can_download_tracepoint == NULL) ops->to_can_download_tracepoint = delegate_can_download_tracepoint; + if (ops->to_download_trace_state_variable == NULL) + ops->to_download_trace_state_variable = delegate_download_trace_state_variable; if (ops->to_supports_btrace == NULL) ops->to_supports_btrace = delegate_supports_btrace; } @@ -876,5 +891,6 @@ install_dummy_methods (struct target_ops *ops) ops->to_trace_init = tdefault_trace_init; ops->to_download_tracepoint = tdefault_download_tracepoint; ops->to_can_download_tracepoint = tdefault_can_download_tracepoint; + ops->to_download_trace_state_variable = tdefault_download_trace_state_variable; ops->to_supports_btrace = tdefault_supports_btrace; } diff --git a/gdb/target.c b/gdb/target.c index ce81c7cf12..358cc56f5e 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -691,7 +691,7 @@ update_current_target (void) /* Do not inherit to_trace_init. */ /* Do not inherit to_download_tracepoint. */ /* Do not inherit to_can_download_tracepoint. */ - INHERIT (to_download_trace_state_variable, t); + /* Do not inherit to_download_trace_state_variable. */ INHERIT (to_enable_tracepoint, t); INHERIT (to_disable_tracepoint, t); INHERIT (to_trace_set_readonly_regions, t); @@ -752,9 +752,6 @@ update_current_target (void) (void (*) (struct target_ops *, ptid_t)) target_ignore); current_target.to_read_description = NULL; - de_fault (to_download_trace_state_variable, - (void (*) (struct target_ops *, struct trace_state_variable *)) - tcomplain); de_fault (to_enable_tracepoint, (void (*) (struct target_ops *, struct bp_location *)) tcomplain); diff --git a/gdb/target.h b/gdb/target.h index f0b46e4c46..584d3c5ba7 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -816,7 +816,8 @@ struct target_ops /* Send full details of a trace state variable to the target. */ void (*to_download_trace_state_variable) (struct target_ops *, - struct trace_state_variable *tsv); + struct trace_state_variable *tsv) + TARGET_DEFAULT_NORETURN (tcomplain ()); /* Enable a tracepoint on the target. */ void (*to_enable_tracepoint) (struct target_ops *,