From adc6a863a9c6c828425d63b12d553f0e8f21e350 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 24 Jan 2019 18:25:06 +0000 Subject: target_pass_signals/target_program_signals: Use gdb::array_view This replaces the pointer and length parameters of target_pass_signals and target_program_signals with a gdb::array_view parameter, and fixes the fallout. In infrun.c, the signal_stop, signal_print, signal_program, signal_catch, signal_pass globals are currently pointers to heap-allocated memory. I see no point in that, so I converted them to arrays. This allows simplifying the calls to target_pass_signals/target_program_signals, since we can pass the array directly, which can implicitly convert to gdb::array_view. gdb/ChangeLog: 2019-01-24 Pedro Alves * infrun.c (signal_stop, signal_print, signal_program) (signal_catch, signal_pass): Now arrays instead of pointers. (update_signals_program_target, do_target_resume) (signal_catch_update, handle_command, _initialize_infrun): Adjust. * linux-nat.c (linux_nat_target::pass_signals) (linux_nat_target::create_inferior, linux_nat_target::attach): Adjust. * linux-nat.h (linux_nat_target::pass_signals): Adjust. * nto-procfs.c (nto_procfs_target::pass_signals): Adjust. * procfs.c (procfs_target::pass_signals): Adjust. * record-full.c (record_full_target::resume): Adjust. * remote.c (remote_target::pass_signals) (remote_target::program_signals): Adjust. * target-debug.h (target_debug_print_signals): Now takes a gdb::array_view as parameter. Adjust. * target.h (target_ops) : Replace pointer and length parameters with gdb::array_view. (target_pass_signals, target_program_signals): Likewise. * target-delegates.c: Regenerate. --- gdb/target-delegates.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'gdb/target-delegates.c') diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 43c9790..a25851e 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -62,8 +62,8 @@ struct dummy_target : public target_ops void follow_exec (struct inferior *arg0, char *arg1) override; int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view arg3) override; void mourn_inferior () override; - void pass_signals (int arg0, const unsigned char * arg1) override; - void program_signals (int arg0, const unsigned char * arg1) override; + void pass_signals (gdb::array_view arg0) override; + void program_signals (gdb::array_view arg0) override; bool thread_alive (ptid_t arg0) override; void update_thread_list () override; const char *pid_to_str (ptid_t arg0) override; @@ -229,8 +229,8 @@ struct debug_target : public target_ops void follow_exec (struct inferior *arg0, char *arg1) override; int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view arg3) override; void mourn_inferior () override; - void pass_signals (int arg0, const unsigned char * arg1) override; - void program_signals (int arg0, const unsigned char * arg1) override; + void pass_signals (gdb::array_view arg0) override; + void program_signals (gdb::array_view arg0) override; bool thread_alive (ptid_t arg0) override; void update_thread_list () override; const char *pid_to_str (ptid_t arg0) override; @@ -1659,48 +1659,44 @@ debug_target::mourn_inferior () } void -target_ops::pass_signals (int arg0, const unsigned char * arg1) +target_ops::pass_signals (gdb::array_view arg0) { - this->beneath ()->pass_signals (arg0, arg1); + this->beneath ()->pass_signals (arg0); } void -dummy_target::pass_signals (int arg0, const unsigned char * arg1) +dummy_target::pass_signals (gdb::array_view arg0) { } void -debug_target::pass_signals (int arg0, const unsigned char * arg1) +debug_target::pass_signals (gdb::array_view arg0) { fprintf_unfiltered (gdb_stdlog, "-> %s->pass_signals (...)\n", this->beneath ()->shortname ()); - this->beneath ()->pass_signals (arg0, arg1); + this->beneath ()->pass_signals (arg0); fprintf_unfiltered (gdb_stdlog, "<- %s->pass_signals (", this->beneath ()->shortname ()); - target_debug_print_int (arg0); - fputs_unfiltered (", ", gdb_stdlog); - target_debug_print_signals (arg1); + target_debug_print_signals (arg0); fputs_unfiltered (")\n", gdb_stdlog); } void -target_ops::program_signals (int arg0, const unsigned char * arg1) +target_ops::program_signals (gdb::array_view arg0) { - this->beneath ()->program_signals (arg0, arg1); + this->beneath ()->program_signals (arg0); } void -dummy_target::program_signals (int arg0, const unsigned char * arg1) +dummy_target::program_signals (gdb::array_view arg0) { } void -debug_target::program_signals (int arg0, const unsigned char * arg1) +debug_target::program_signals (gdb::array_view arg0) { fprintf_unfiltered (gdb_stdlog, "-> %s->program_signals (...)\n", this->beneath ()->shortname ()); - this->beneath ()->program_signals (arg0, arg1); + this->beneath ()->program_signals (arg0); fprintf_unfiltered (gdb_stdlog, "<- %s->program_signals (", this->beneath ()->shortname ()); - target_debug_print_int (arg0); - fputs_unfiltered (", ", gdb_stdlog); - target_debug_print_signals (arg1); + target_debug_print_signals (arg0); fputs_unfiltered (")\n", gdb_stdlog); } -- cgit v1.1