diff options
author | Tom Tromey <tromey@redhat.com> | 2013-12-18 14:42:10 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2014-02-19 07:48:13 -0700 |
commit | 035cad7f2e550abdaaa8b556143b351822f2940e (patch) | |
tree | 5dcd14d85c868f4d0e747786c637b64544a88abf | |
parent | 8d65703517069975d781d7957d90a9de3ce94e5d (diff) | |
download | gdb-035cad7f2e550abdaaa8b556143b351822f2940e.zip gdb-035cad7f2e550abdaaa8b556143b351822f2940e.tar.gz gdb-035cad7f2e550abdaaa8b556143b351822f2940e.tar.bz2 |
convert to_pass_signals
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (target_pass_signals): Unconditionally delegate.
* target.h (struct target_ops) <to_pass_signals>: Use
TARGET_DEFAULT_IGNORE.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/target-delegates.c | 15 | ||||
-rw-r--r-- | gdb/target.c | 31 | ||||
-rw-r--r-- | gdb/target.h | 3 |
4 files changed, 35 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 38eaf10..77f910e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,13 @@ 2014-02-19 Tom Tromey <tromey@redhat.com> * target-delegates.c: Rebuild. + * target.c (target_pass_signals): Unconditionally delegate. + * target.h (struct target_ops) <to_pass_signals>: Use + TARGET_DEFAULT_IGNORE. + +2014-02-19 Tom Tromey <tromey@redhat.com> + + * target-delegates.c: Rebuild. * target.c (default_mourn_inferior): New function. (target_mourn_inferior): Unconditionally delegate. * target.h (struct target_ops) <to_mourn_inferior>: Use diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index f3000b7..22cb360 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -517,6 +517,18 @@ delegate_mourn_inferior (struct target_ops *self) self->to_mourn_inferior (self); } +static void +delegate_pass_signals (struct target_ops *self, int arg1, unsigned char *arg2) +{ + self = self->beneath; + self->to_pass_signals (self, arg1, arg2); +} + +static void +tdefault_pass_signals (struct target_ops *self, int arg1, unsigned char *arg2) +{ +} + static char * delegate_extra_thread_info (struct target_ops *self, struct thread_info *arg1) { @@ -1256,6 +1268,8 @@ install_delegators (struct target_ops *ops) ops->to_has_exited = delegate_has_exited; if (ops->to_mourn_inferior == NULL) ops->to_mourn_inferior = delegate_mourn_inferior; + if (ops->to_pass_signals == NULL) + ops->to_pass_signals = delegate_pass_signals; if (ops->to_extra_thread_info == NULL) ops->to_extra_thread_info = delegate_extra_thread_info; if (ops->to_thread_name == NULL) @@ -1413,6 +1427,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_mourn_inferior = default_mourn_inferior; + ops->to_pass_signals = tdefault_pass_signals; ops->to_extra_thread_info = tdefault_extra_thread_info; ops->to_thread_name = tdefault_thread_name; ops->to_stop = tdefault_stop; diff --git a/gdb/target.c b/gdb/target.c index 13ec67d..b04e8f2 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -2580,31 +2580,22 @@ target_resume (ptid_t ptid, int step, enum gdb_signal signal) void target_pass_signals (int numsigs, unsigned char *pass_signals) { - struct target_ops *t; - - for (t = current_target.beneath; t != NULL; t = t->beneath) + if (targetdebug) { - if (t->to_pass_signals != NULL) - { - if (targetdebug) - { - int i; - - fprintf_unfiltered (gdb_stdlog, "target_pass_signals (%d, {", - numsigs); + int i; - for (i = 0; i < numsigs; i++) - if (pass_signals[i]) - fprintf_unfiltered (gdb_stdlog, " %s", - gdb_signal_to_name (i)); + fprintf_unfiltered (gdb_stdlog, "target_pass_signals (%d, {", + numsigs); - fprintf_unfiltered (gdb_stdlog, " })\n"); - } + for (i = 0; i < numsigs; i++) + if (pass_signals[i]) + fprintf_unfiltered (gdb_stdlog, " %s", + gdb_signal_to_name (i)); - (*t->to_pass_signals) (t, numsigs, pass_signals); - return; - } + fprintf_unfiltered (gdb_stdlog, " })\n"); } + + (*current_target.to_pass_signals) (¤t_target, numsigs, pass_signals); } void diff --git a/gdb/target.h b/gdb/target.h index 884abf1..468a5cd 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -550,7 +550,8 @@ struct target_ops /* Documentation of this routine is provided with the corresponding target_* macro. */ - void (*to_pass_signals) (struct target_ops *, int, unsigned char *); + void (*to_pass_signals) (struct target_ops *, int, unsigned char *) + TARGET_DEFAULT_IGNORE (); /* Documentation of this routine is provided with the corresponding target_* function. */ |