From 491adecac48c5960fe29582f5046c015ff92c211 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 6 Jan 2019 13:24:11 -0700 Subject: [PATCH] Constify target_pass_signals and target_program_signals This constifies the final parameter to target_pass_signals and target_program_signals and updates the rest of gdb. Note that I have no way to test the nto-procfs.c change. gdb/ChangeLog 2019-01-14 Tom Tromey * target-debug.h (target_debug_print_signals): Constify. * nto-procfs.c (nto_procfs_target::pass_signals): Update. * procfs.c (procfs_target::pass_signals): Update. * linux-nat.c (linux_nat_target::pass_signals): Update. * linux-nat.h (class linux_nat_target) : Update. * target-delegates.c: Rebuild. * remote.c (remote_target::program_signals): Update. (remote_target::pass_signals): Update. * target.c (target_pass_signals): Constify argument. (target_program_signals): Likewise. * target.h (struct target_ops) : Constify argument. (target_pass_signals, target_program_signals): Constify argument. --- gdb/ChangeLog | 16 ++++++++++++++++ gdb/linux-nat.c | 2 +- gdb/linux-nat.h | 2 +- gdb/nto-procfs.c | 5 +++-- gdb/procfs.c | 4 ++-- gdb/remote.c | 8 ++++---- gdb/target-debug.h | 2 +- gdb/target-delegates.c | 20 ++++++++++---------- gdb/target.c | 4 ++-- gdb/target.h | 9 +++++---- 10 files changed, 45 insertions(+), 27 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d887e06..5f5a2d1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,21 @@ 2019-01-14 Tom Tromey + * target-debug.h (target_debug_print_signals): Constify. + * nto-procfs.c (nto_procfs_target::pass_signals): Update. + * procfs.c (procfs_target::pass_signals): Update. + * linux-nat.c (linux_nat_target::pass_signals): Update. + * linux-nat.h (class linux_nat_target) : Update. + * target-delegates.c: Rebuild. + * remote.c (remote_target::program_signals): Update. + (remote_target::pass_signals): Update. + * target.c (target_pass_signals): Constify argument. + (target_program_signals): Likewise. + * target.h (struct target_ops) : + Constify argument. + (target_pass_signals, target_program_signals): Constify argument. + +2019-01-14 Tom Tromey + PR tui/28819: * tui/tui-io.c (gdb_wgetch): Print \r when needed. diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index 73d4fd1..c0d5f8d 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -788,7 +788,7 @@ static sigset_t pass_mask; /* Update signals to pass to the inferior. */ void -linux_nat_target::pass_signals (int numsigs, unsigned char *pass_signals) +linux_nat_target::pass_signals (int numsigs, const unsigned char *pass_signals) { int signo; diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h index 1499526..c56a245 100644 --- a/gdb/linux-nat.h +++ b/gdb/linux-nat.h @@ -45,7 +45,7 @@ public: ptid_t wait (ptid_t, struct target_waitstatus *, int) override; - void pass_signals (int, unsigned char *) override; + void pass_signals (int, const unsigned char *) override; enum target_xfer_status xfer_partial (enum target_object object, const char *annex, diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c index 1a12f54..9ee42e6 100644 --- a/gdb/nto-procfs.c +++ b/gdb/nto-procfs.c @@ -109,7 +109,7 @@ struct nto_procfs_target : public inf_child_target void mourn_inferior () override; - void pass_signals (int, unsigned char *) override; + void pass_signals (int, const unsigned char *) override; bool thread_alive (ptid_t ptid) override; @@ -1442,7 +1442,8 @@ nto_procfs_target::store_registers (struct regcache *regcache, int regno) /* Set list of signals to be handled in the target. */ void -nto_procfs_target::pass_signals (int numsigs, unsigned char *pass_signals) +nto_procfs_target::pass_signals (int numsigs, + const unsigned char *pass_signals) { int signo; diff --git a/gdb/procfs.c b/gdb/procfs.c index 9e3d037..dd7534a 100644 --- a/gdb/procfs.c +++ b/gdb/procfs.c @@ -119,7 +119,7 @@ public: ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) override; - void pass_signals (int, unsigned char *) override; + void pass_signals (int, const unsigned char *) override; void files_info () override; @@ -2772,7 +2772,7 @@ procfs_target::resume (ptid_t ptid, int step, enum gdb_signal signo) /* Set up to trace signals in the child process. */ void -procfs_target::pass_signals (int numsigs, unsigned char *pass_signals) +procfs_target::pass_signals (int numsigs, const unsigned char *pass_signals) { sigset_t signals; procinfo *pi = find_procinfo_or_die (inferior_ptid.pid (), 0); diff --git a/gdb/remote.c b/gdb/remote.c index 324ed46..c40f926 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -474,12 +474,12 @@ public: void mourn_inferior () override; - void pass_signals (int, unsigned char *) override; + void pass_signals (int, const unsigned char *) override; int set_syscall_catchpoint (int, bool, int, gdb::array_view) override; - void program_signals (int, unsigned char *) override; + void program_signals (int, const unsigned char *) override; bool thread_alive (ptid_t ptid) override; @@ -2555,7 +2555,7 @@ record_currthread (struct remote_state *rs, ptid_t currthread) it can simply pass through to the inferior without reporting. */ void -remote_target::pass_signals (int numsigs, unsigned char *pass_signals) +remote_target::pass_signals (int numsigs, const unsigned char *pass_signals) { if (packet_support (PACKET_QPassSignals) != PACKET_DISABLE) { @@ -2681,7 +2681,7 @@ remote_target::set_syscall_catchpoint (int pid, bool needed, int any_count, signals it should pass through to the inferior when detaching. */ void -remote_target::program_signals (int numsigs, unsigned char *signals) +remote_target::program_signals (int numsigs, const unsigned char *signals) { if (packet_support (PACKET_QProgramSignals) != PACKET_DISABLE) { diff --git a/gdb/target-debug.h b/gdb/target-debug.h index 67d400a..d51754a 100644 --- a/gdb/target-debug.h +++ b/gdb/target-debug.h @@ -209,7 +209,7 @@ target_debug_print_options (int options) } static void -target_debug_print_signals (unsigned char *sigs) +target_debug_print_signals (const unsigned char *sigs) { fputs_unfiltered ("{", gdb_stdlog); if (sigs != NULL) diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 2ff800c..43c9790 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, unsigned char * arg1) override; - void program_signals (int arg0, unsigned char * arg1) override; + void pass_signals (int arg0, const unsigned char * arg1) override; + void program_signals (int arg0, const unsigned char * arg1) 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, unsigned char * arg1) override; - void program_signals (int arg0, unsigned char * arg1) override; + void pass_signals (int arg0, const unsigned char * arg1) override; + void program_signals (int arg0, const unsigned char * arg1) override; bool thread_alive (ptid_t arg0) override; void update_thread_list () override; const char *pid_to_str (ptid_t arg0) override; @@ -1659,18 +1659,18 @@ debug_target::mourn_inferior () } void -target_ops::pass_signals (int arg0, unsigned char * arg1) +target_ops::pass_signals (int arg0, const unsigned char * arg1) { this->beneath ()->pass_signals (arg0, arg1); } void -dummy_target::pass_signals (int arg0, unsigned char * arg1) +dummy_target::pass_signals (int arg0, const unsigned char * arg1) { } void -debug_target::pass_signals (int arg0, unsigned char * arg1) +debug_target::pass_signals (int arg0, const unsigned char * arg1) { fprintf_unfiltered (gdb_stdlog, "-> %s->pass_signals (...)\n", this->beneath ()->shortname ()); this->beneath ()->pass_signals (arg0, arg1); @@ -1682,18 +1682,18 @@ debug_target::pass_signals (int arg0, unsigned char * arg1) } void -target_ops::program_signals (int arg0, unsigned char * arg1) +target_ops::program_signals (int arg0, const unsigned char * arg1) { this->beneath ()->program_signals (arg0, arg1); } void -dummy_target::program_signals (int arg0, unsigned char * arg1) +dummy_target::program_signals (int arg0, const unsigned char * arg1) { } void -debug_target::program_signals (int arg0, unsigned char * arg1) +debug_target::program_signals (int arg0, const unsigned char * arg1) { fprintf_unfiltered (gdb_stdlog, "-> %s->program_signals (...)\n", this->beneath ()->shortname ()); this->beneath ()->program_signals (arg0, arg1); diff --git a/gdb/target.c b/gdb/target.c index f8e92f5..e66584f 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -2112,13 +2112,13 @@ make_scoped_defer_target_commit_resume () } void -target_pass_signals (int numsigs, unsigned char *pass_signals) +target_pass_signals (int numsigs, const unsigned char *pass_signals) { current_top_target ()->pass_signals (numsigs, pass_signals); } void -target_program_signals (int numsigs, unsigned char *program_signals) +target_program_signals (int numsigs, const unsigned char *program_signals) { current_top_target ()->program_signals (numsigs, program_signals); } diff --git a/gdb/target.h b/gdb/target.h index 36f8942..14ec07f 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -638,13 +638,13 @@ struct target_ops /* Documentation of this routine is provided with the corresponding target_* macro. */ virtual void pass_signals (int, - unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals)) + const unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals)) TARGET_DEFAULT_IGNORE (); /* Documentation of this routine is provided with the corresponding target_* function. */ virtual void program_signals (int, - unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals)) + const unsigned char * TARGET_DEBUG_PRINTER (target_debug_print_signals)) TARGET_DEFAULT_IGNORE (); virtual bool thread_alive (ptid_t ptid) @@ -1692,7 +1692,7 @@ extern int target_can_run (); about to receive a signal, it needs to be reported in any case, even if mentioned in a previous target_pass_signals call. */ -extern void target_pass_signals (int nsig, unsigned char *pass_signals); +extern void target_pass_signals (int nsig, const unsigned char *pass_signals); /* Set list of signals the target may pass to the inferior. This directly maps to the "handle SIGNAL pass/nopass" setting. @@ -1708,7 +1708,8 @@ extern void target_pass_signals (int nsig, unsigned char *pass_signals); example, when detaching (as threads may have been suspended with pending signals not reported to GDB). */ -extern void target_program_signals (int nsig, unsigned char *program_signals); +extern void target_program_signals (int nsig, + const unsigned char *program_signals); /* Check to see if a thread is still alive. */ -- 2.7.4