From 825828fcf34539d98b0c10f9c33d35a9641c8018 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 18 Dec 2013 10:49:35 -0700 Subject: [PATCH] convert to_thread_name 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default to_thread_name. (target_thread_name): Unconditionally delegate. * target.h (struct target_ops) : Use TARGET_DEFAULT_RETURN. --- gdb/ChangeLog | 9 +++++++++ gdb/target-delegates.c | 16 ++++++++++++++++ gdb/target.c | 15 ++------------- gdb/target.h | 3 ++- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a4ccc9c1f8c..3a5b4d7f4ea 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default + to_thread_name. + (target_thread_name): Unconditionally delegate. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_RETURN. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index a6643d17eb8..6658ee9b894 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -439,6 +439,19 @@ tdefault_extra_thread_info (struct target_ops *self, struct thread_info *arg1) return 0; } +static char * +delegate_thread_name (struct target_ops *self, struct thread_info *arg1) +{ + self = self->beneath; + return self->to_thread_name (self, arg1); +} + +static char * +tdefault_thread_name (struct target_ops *self, struct thread_info *arg1) +{ + return 0; +} + static void delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2) { @@ -576,6 +589,8 @@ install_delegators (struct target_ops *ops) ops->to_has_exited = delegate_has_exited; if (ops->to_extra_thread_info == NULL) ops->to_extra_thread_info = delegate_extra_thread_info; + if (ops->to_thread_name == NULL) + ops->to_thread_name = delegate_thread_name; if (ops->to_rcmd == NULL) ops->to_rcmd = delegate_rcmd; if (ops->to_can_async_p == NULL) @@ -630,6 +645,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_set_syscall_catchpoint = tdefault_set_syscall_catchpoint; ops->to_has_exited = tdefault_has_exited; ops->to_extra_thread_info = tdefault_extra_thread_info; + ops->to_thread_name = tdefault_thread_name; 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 d7214515f99..3797090f9b4 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -645,7 +645,7 @@ update_current_target (void) /* Do not inherit to_find_new_threads. */ /* Do not inherit to_pid_to_str. */ /* Do not inherit to_extra_thread_info. */ - INHERIT (to_thread_name, t); + /* Do not inherit to_thread_name. */ INHERIT (to_stop, t); /* Do not inherit to_xfer_partial. */ /* Do not inherit to_rcmd. */ @@ -735,9 +735,6 @@ update_current_target (void) de_fault (to_can_run, (int (*) (struct target_ops *)) return_zero); - de_fault (to_thread_name, - (char *(*) (struct target_ops *, struct thread_info *)) - return_null); de_fault (to_stop, (void (*) (struct target_ops *, ptid_t)) target_ignore); @@ -2673,15 +2670,7 @@ target_pid_to_str (ptid_t ptid) char * target_thread_name (struct thread_info *info) { - struct target_ops *t; - - for (t = current_target.beneath; t != NULL; t = t->beneath) - { - if (t->to_thread_name != NULL) - return (*t->to_thread_name) (t, info); - } - - return NULL; + return current_target.to_thread_name (¤t_target, info); } void diff --git a/gdb/target.h b/gdb/target.h index 342a99fa9c4..73075ae9946 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -553,7 +553,8 @@ struct target_ops char *(*to_pid_to_str) (struct target_ops *, ptid_t); char *(*to_extra_thread_info) (struct target_ops *, struct thread_info *) TARGET_DEFAULT_RETURN (0); - char *(*to_thread_name) (struct target_ops *, struct thread_info *); + char *(*to_thread_name) (struct target_ops *, struct thread_info *) + TARGET_DEFAULT_RETURN (0); void (*to_stop) (struct target_ops *, ptid_t); void (*to_rcmd) (struct target_ops *, char *command, struct ui_file *output) -- 2.30.2