This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 3/3] constify to_open
- From: Pedro Alves <palves at redhat dot com>
- To: Tom Tromey <tromey at redhat dot com>, gdb-patches at sourceware dot org
- Date: Thu, 24 Jul 2014 02:32:32 +0100
- Subject: Re: [PATCH 3/3] constify to_open
- Authentication-results: sourceware.org; auth=none
- References: <1406150844-17134-1-git-send-email-tromey at redhat dot com> <1406150844-17134-4-git-send-email-tromey at redhat dot com>
Looks good.
Thanks,
Pedro Alves
On 07/23/2014 10:27 PM, Tom Tromey wrote:
> This makes target_ops::to_open take a const string and then fixes the
> fallout.
>
> There were a few of these I could not build. However I eyeballed it
> and in any case the fixes should generally be trivial.
>
> this is based on the patch to fix up the target debugging for to_open,
> because that changes gdb to not directly install to_open as the target
> command
>
> 2014-07-22 Tom Tromey <tromey@redhat.com>
>
> * bsd-kvm.c (bsd_kvm_open): Constify.
> * corelow.c (core_open): Constify.
> * ctf.c (ctf_open): Constify.
> * dbug-rom.c (dbug_open): Constify.
> * exec.c (exec_open): Constify.
> * inf-child.c (inf_child_open): Constify.
> * m32r-rom.c (m32r_open, mon2000_open): Constify.
> * microblaze-rom.c (picobug_open): Constify.
> * nto-procfs.c (procfs_open_1, procfs_open, procfs_native_open):
> Constify.
> * ppcbug-rom.c (ppcbug_open0, ppcbug_open1): Constify.
> * record-btrace.c (record_btrace_open): Constify.
> * record-full.c (record_full_core_open_1, record_full_open_1)
> (record_full_open): Constify.
> * remote-m32r-sdi.c (m32r_open): Constify.
> * remote-mips.c (common_open, mips_open, pmon_open, ddb_open)
> (rockhopper_open, lsi_open): Constify.
> * remote-sim.c (gdbsim_open): Constify.
> * remote.c (remote_open, extended_remote_open, remote_open_1):
> Constify.
> * target.h (struct target_ops) <to_open>: Make "arg" const.
> * tracefile-tfile.c (tfile_open): Constify.
> ---
> gdb/ChangeLog | 25 +++++++++++++++++++++++++
> gdb/bsd-kvm.c | 7 ++++---
> gdb/corelow.c | 9 ++++-----
> gdb/ctf.c | 4 ++--
> gdb/dbug-rom.c | 4 +---
> gdb/dink32-rom.c | 4 +---
> gdb/exec.c | 2 +-
> gdb/inf-child.c | 4 ++--
> gdb/inf-child.h | 2 +-
> gdb/m32r-rom.c | 7 ++-----
> gdb/microblaze-rom.c | 2 +-
> gdb/monitor.c | 2 +-
> gdb/monitor.h | 3 ++-
> gdb/nto-procfs.c | 6 +++---
> gdb/ppcbug-rom.c | 4 ++--
> gdb/record-btrace.c | 2 +-
> gdb/record-full.c | 6 +++---
> gdb/remote-m32r-sdi.c | 2 +-
> gdb/remote-mips.c | 20 ++++++--------------
> gdb/remote-sim.c | 2 +-
> gdb/remote.c | 15 ++++++---------
> gdb/target.h | 2 +-
> gdb/tracefile-tfile.c | 7 ++++---
> 23 files changed, 75 insertions(+), 66 deletions(-)
>
> diff --git a/gdb/bsd-kvm.c b/gdb/bsd-kvm.c
> index 35ecebb..6705035 100644
> --- a/gdb/bsd-kvm.c
> +++ b/gdb/bsd-kvm.c
> @@ -63,19 +63,20 @@ static struct target_ops bsd_kvm_ops;
> static ptid_t bsd_kvm_ptid;
>
> static void
> -bsd_kvm_open (char *filename, int from_tty)
> +bsd_kvm_open (const char *arg, int from_tty)
> {
> char errbuf[_POSIX2_LINE_MAX];
> char *execfile = NULL;
> kvm_t *temp_kd;
> + char *filename = NULL;
>
> target_preopen (from_tty);
>
> - if (filename)
> + if (arg)
> {
> char *temp;
>
> - filename = tilde_expand (filename);
> + filename = tilde_expand (arg);
> if (filename[0] != '/')
> {
> temp = concat (current_directory, "/", filename, (char *)NULL);
> diff --git a/gdb/corelow.c b/gdb/corelow.c
> index 1775a66..9290f18 100644
> --- a/gdb/corelow.c
> +++ b/gdb/corelow.c
> @@ -84,8 +84,6 @@ static struct core_fns *sniff_core_bfd (bfd *);
>
> static int gdb_check_format (bfd *);
>
> -static void core_open (char *, int);
> -
> static void core_close (struct target_ops *self);
>
> static void core_close_cleanup (void *ignore);
> @@ -275,7 +273,7 @@ add_to_thread_list (bfd *abfd, asection *asect, void *reg_sect_arg)
> /* This routine opens and sets up the core file bfd. */
>
> static void
> -core_open (char *filename, int from_tty)
> +core_open (const char *arg, int from_tty)
> {
> const char *p;
> int siggy;
> @@ -285,9 +283,10 @@ core_open (char *filename, int from_tty)
> int scratch_chan;
> int flags;
> volatile struct gdb_exception except;
> + char *filename;
>
> target_preopen (from_tty);
> - if (!filename)
> + if (!arg)
> {
> if (core_bfd)
> error (_("No core file specified. (Use `detach' "
> @@ -296,7 +295,7 @@ core_open (char *filename, int from_tty)
> error (_("No core file specified."));
> }
>
> - filename = tilde_expand (filename);
> + filename = tilde_expand (arg);
> if (!IS_ABSOLUTE_PATH (filename))
> {
> temp = concat (current_directory, "/",
> diff --git a/gdb/ctf.c b/gdb/ctf.c
> index 84d0a48..df645c0 100644
> --- a/gdb/ctf.c
> +++ b/gdb/ctf.c
> @@ -904,7 +904,7 @@ ctf_destroy (void)
> /* Open CTF trace data in DIRNAME. */
>
> static void
> -ctf_open_dir (char *dirname)
> +ctf_open_dir (const char *dirname)
> {
> struct bt_iter_pos begin_pos;
> struct bt_iter_pos *pos;
> @@ -1127,7 +1127,7 @@ ctf_read_tp (struct uploaded_tp **uploaded_tps)
> second packet which contains events on trace blocks. */
>
> static void
> -ctf_open (char *dirname, int from_tty)
> +ctf_open (const char *dirname, int from_tty)
> {
> struct bt_ctf_event *event;
> uint32_t event_id;
> diff --git a/gdb/dbug-rom.c b/gdb/dbug-rom.c
> index 4157f27..c775543 100644
> --- a/gdb/dbug-rom.c
> +++ b/gdb/dbug-rom.c
> @@ -32,8 +32,6 @@
>
> #include "m68k-tdep.h"
>
> -static void dbug_open (char *args, int from_tty);
> -
> static void
> dbug_supply_register (struct regcache *regcache, char *regname,
> int regnamelen, char *val, int vallen)
> @@ -155,7 +153,7 @@ init_dbug_cmds (void)
> } /* init_debug_ops */
>
> static void
> -dbug_open (char *args, int from_tty)
> +dbug_open (const char *args, int from_tty)
> {
> monitor_open (args, &dbug_cmds, from_tty);
> }
> diff --git a/gdb/dink32-rom.c b/gdb/dink32-rom.c
> index 52d428d..9ab81ae 100644
> --- a/gdb/dink32-rom.c
> +++ b/gdb/dink32-rom.c
> @@ -26,8 +26,6 @@
> #include "inferior.h"
> #include "regcache.h"
>
> -static void dink32_open (char *args, int from_tty);
> -
> static void
> dink32_supply_register (struct regcache *regcache, char *regname,
> int regnamelen, char *val, int vallen)
> @@ -123,7 +121,7 @@ static char *dink32_inits[] =
> static struct monitor_ops dink32_cmds;
>
> static void
> -dink32_open (char *args, int from_tty)
> +dink32_open (const char *args, int from_tty)
> {
> monitor_open (args, &dink32_cmds, from_tty);
> }
> diff --git a/gdb/exec.c b/gdb/exec.c
> index e42ef20..98defbc 100644
> --- a/gdb/exec.c
> +++ b/gdb/exec.c
> @@ -79,7 +79,7 @@ show_write_files (struct ui_file *file, int from_tty,
>
>
> static void
> -exec_open (char *args, int from_tty)
> +exec_open (const char *args, int from_tty)
> {
> target_preopen (from_tty);
> exec_file_attach (args, from_tty);
> diff --git a/gdb/inf-child.c b/gdb/inf-child.c
> index 897e635..82a2781 100644
> --- a/gdb/inf-child.c
> +++ b/gdb/inf-child.c
> @@ -122,7 +122,7 @@ static int inf_child_explicitly_opened;
> /* See inf-child.h. */
>
> void
> -inf_child_open_target (struct target_ops *target, char *arg, int from_tty)
> +inf_child_open_target (struct target_ops *target, const char *arg, int from_tty)
> {
> target_preopen (from_tty);
> push_target (target);
> @@ -132,7 +132,7 @@ inf_child_open_target (struct target_ops *target, char *arg, int from_tty)
> }
>
> static void
> -inf_child_open (char *arg, int from_tty)
> +inf_child_open (const char *arg, int from_tty)
> {
> inf_child_open_target (inf_child_ops, arg, from_tty);
> }
> diff --git a/gdb/inf-child.h b/gdb/inf-child.h
> index b2692ca..163cab6 100644
> --- a/gdb/inf-child.h
> +++ b/gdb/inf-child.h
> @@ -34,7 +34,7 @@ extern void store_waitstatus (struct target_waitstatus *, int);
> the target, in case it need to override to_open. */
>
> extern void inf_child_open_target (struct target_ops *target,
> - char *arg, int from_tty);
> + const char *arg, int from_tty);
>
> /* To be called by the native target's to_mourn_inferior routine. */
>
> diff --git a/gdb/m32r-rom.c b/gdb/m32r-rom.c
> index 0ab252a..6b20cd1 100644
> --- a/gdb/m32r-rom.c
> +++ b/gdb/m32r-rom.c
> @@ -201,9 +201,6 @@ m32r_load_gen (struct target_ops *self, const char *filename, int from_tty)
> generic_load (filename, from_tty);
> }
>
> -static void m32r_open (char *args, int from_tty);
> -static void mon2000_open (char *args, int from_tty);
> -
> /* This array of registers needs to match the indexes used by GDB. The
> whole reason this exists is because the various ROM monitors use
> different names than GDB does, and don't support all the registers
> @@ -362,7 +359,7 @@ init_m32r_cmds (void)
> } /* init_m32r_cmds */
>
> static void
> -m32r_open (char *args, int from_tty)
> +m32r_open (const char *args, int from_tty)
> {
> monitor_open (args, &m32r_cmds, from_tty);
> }
> @@ -422,7 +419,7 @@ init_mon2000_cmds (void)
> } /* init_mon2000_cmds */
>
> static void
> -mon2000_open (char *args, int from_tty)
> +mon2000_open (const char *args, int from_tty)
> {
> monitor_open (args, &mon2000_cmds, from_tty);
> }
> diff --git a/gdb/microblaze-rom.c b/gdb/microblaze-rom.c
> index 936865c..a64217d 100644
> --- a/gdb/microblaze-rom.c
> +++ b/gdb/microblaze-rom.c
> @@ -49,7 +49,7 @@ static char *picobug_regnames[] = {
>
>
> static void
> -picobug_open (char *args, int from_tty)
> +picobug_open (const char *args, int from_tty)
> {
> monitor_open (args, &picobug_cmds, from_tty);
> }
> diff --git a/gdb/monitor.c b/gdb/monitor.c
> index 61f0dff..788bca0 100644
> --- a/gdb/monitor.c
> +++ b/gdb/monitor.c
> @@ -713,7 +713,7 @@ compile_pattern (char *pattern, struct re_pattern_buffer *compiled_pattern,
> for communication. */
>
> void
> -monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty)
> +monitor_open (const char *args, struct monitor_ops *mon_ops, int from_tty)
> {
> char *name;
> char **p;
> diff --git a/gdb/monitor.h b/gdb/monitor.h
> index 07caf97..52521c8 100644
> --- a/gdb/monitor.h
> +++ b/gdb/monitor.h
> @@ -239,7 +239,8 @@ struct monitor_ops
>
> #define SREC_SIZE 160
>
> -extern void monitor_open (char *args, struct monitor_ops *ops, int from_tty);
> +extern void monitor_open (const char *args, struct monitor_ops *ops,
> + int from_tty);
> extern void monitor_close (struct target_ops *self);
> extern char *monitor_supply_register (struct regcache *regcache,
> int regno, char *valstr);
> diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c
> index 728d6f3..ff8f2af 100644
> --- a/gdb/nto-procfs.c
> +++ b/gdb/nto-procfs.c
> @@ -106,7 +106,7 @@ procfs_is_nto_target (bfd *abfd)
> will be a QNX node string, eg: "/net/some_node". If arg is not a
> valid QNX node, we will default to local. */
> static void
> -procfs_open_1 (struct target_ops *ops, char *arg, int from_tty)
> +procfs_open_1 (struct target_ops *ops, const char *arg, int from_tty)
> {
> char *nodestr;
> char *endstr;
> @@ -1395,7 +1395,7 @@ static struct target_ops *nto_native_ops;
> /* to_open implementation for "target procfs". */
>
> static void
> -procfs_open (char *arg, int from_tty)
> +procfs_open (const char *arg, int from_tty)
> {
> procfs_open_1 (&nto_procfs_ops, arg, from_tty);
> }
> @@ -1403,7 +1403,7 @@ procfs_open (char *arg, int from_tty)
> /* to_open implementation for "target native". */
>
> static void
> -procfs_native_open (char *arg, int from_tty)
> +procfs_native_open (const char *arg, int from_tty)
> {
> procfs_open_1 (nto_native_ops, arg, from_tty);
> }
> diff --git a/gdb/ppcbug-rom.c b/gdb/ppcbug-rom.c
> index 3038713..f1740d1 100644
> --- a/gdb/ppcbug-rom.c
> +++ b/gdb/ppcbug-rom.c
> @@ -184,13 +184,13 @@ static struct monitor_ops ppcbug_cmds0;
> static struct monitor_ops ppcbug_cmds1;
>
> static void
> -ppcbug_open0 (char *args, int from_tty)
> +ppcbug_open0 (const char *args, int from_tty)
> {
> monitor_open (args, &ppcbug_cmds0, from_tty);
> }
>
> static void
> -ppcbug_open1 (char *args, int from_tty)
> +ppcbug_open1 (const char *args, int from_tty)
> {
> monitor_open (args, &ppcbug_cmds1, from_tty);
> }
> diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
> index 5ba4e06..3601e13 100644
> --- a/gdb/record-btrace.c
> +++ b/gdb/record-btrace.c
> @@ -188,7 +188,7 @@ record_btrace_handle_async_inferior_event (gdb_client_data data)
> /* The to_open method of target record-btrace. */
>
> static void
> -record_btrace_open (char *args, int from_tty)
> +record_btrace_open (const char *args, int from_tty)
> {
> struct cleanup *disable_chain;
> struct thread_info *tp;
> diff --git a/gdb/record-full.c b/gdb/record-full.c
> index fcd7790..119361f 100644
> --- a/gdb/record-full.c
> +++ b/gdb/record-full.c
> @@ -792,7 +792,7 @@ record_full_async_inferior_event_handler (gdb_client_data data)
> /* Open the process record target. */
>
> static void
> -record_full_core_open_1 (char *name, int from_tty)
> +record_full_core_open_1 (const char *name, int from_tty)
> {
> struct regcache *regcache = get_current_regcache ();
> int regnum = gdbarch_num_regs (get_regcache_arch (regcache));
> @@ -822,7 +822,7 @@ record_full_core_open_1 (char *name, int from_tty)
> /* "to_open" target method for 'live' processes. */
>
> static void
> -record_full_open_1 (char *name, int from_tty)
> +record_full_open_1 (const char *name, int from_tty)
> {
> if (record_debug)
> fprintf_unfiltered (gdb_stdlog, "Process record: record_full_open\n");
> @@ -846,7 +846,7 @@ static void record_full_init_record_breakpoints (void);
> /* "to_open" target method. Open the process record target. */
>
> static void
> -record_full_open (char *name, int from_tty)
> +record_full_open (const char *name, int from_tty)
> {
> struct target_ops *t;
>
> diff --git a/gdb/remote-m32r-sdi.c b/gdb/remote-m32r-sdi.c
> index 37efaec..f3d5879 100644
> --- a/gdb/remote-m32r-sdi.c
> +++ b/gdb/remote-m32r-sdi.c
> @@ -359,7 +359,7 @@ m32r_create_inferior (struct target_ops *ops, char *execfile,
> NAME is the filename used for communication. */
>
> static void
> -m32r_open (char *args, int from_tty)
> +m32r_open (const char *args, int from_tty)
> {
> struct hostent *host_ent;
> struct sockaddr_in server_addr;
> diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
> index 277621d..236f3cd 100644
> --- a/gdb/remote-mips.c
> +++ b/gdb/remote-mips.c
> @@ -77,14 +77,6 @@ static ULONGEST mips_request (int cmd, ULONGEST addr, ULONGEST data,
>
> static void mips_initialize (void);
>
> -static void mips_open (char *name, int from_tty);
> -
> -static void pmon_open (char *name, int from_tty);
> -
> -static void ddb_open (char *name, int from_tty);
> -
> -static void lsi_open (char *name, int from_tty);
> -
> static void mips_close (struct target_ops *self);
>
> static int mips_map_regno (struct gdbarch *, int);
> @@ -1541,7 +1533,7 @@ mips_initialize (void)
> /* Open a connection to the remote board. */
>
> static void
> -common_open (struct target_ops *ops, char *name, int from_tty,
> +common_open (struct target_ops *ops, const char *name, int from_tty,
> enum mips_monitor_type new_monitor,
> const char *new_monitor_prompt)
> {
> @@ -1669,7 +1661,7 @@ seen from the board via TFTP, specify that name as the third parameter.\n"));
> /* Open a connection to an IDT board. */
>
> static void
> -mips_open (char *name, int from_tty)
> +mips_open (const char *name, int from_tty)
> {
> const char *monitor_prompt = NULL;
> if (gdbarch_bfd_arch_info (target_gdbarch ()) != NULL
> @@ -1694,7 +1686,7 @@ mips_open (char *name, int from_tty)
> /* Open a connection to a PMON board. */
>
> static void
> -pmon_open (char *name, int from_tty)
> +pmon_open (const char *name, int from_tty)
> {
> common_open (&pmon_ops, name, from_tty, MON_PMON, "PMON> ");
> }
> @@ -1702,7 +1694,7 @@ pmon_open (char *name, int from_tty)
> /* Open a connection to a DDB board. */
>
> static void
> -ddb_open (char *name, int from_tty)
> +ddb_open (const char *name, int from_tty)
> {
> common_open (&ddb_ops, name, from_tty, MON_DDB, "NEC010>");
> }
> @@ -1710,7 +1702,7 @@ ddb_open (char *name, int from_tty)
> /* Open a connection to a rockhopper board. */
>
> static void
> -rockhopper_open (char *name, int from_tty)
> +rockhopper_open (const char *name, int from_tty)
> {
> common_open (&rockhopper_ops, name, from_tty, MON_ROCKHOPPER, "NEC01>");
> }
> @@ -1718,7 +1710,7 @@ rockhopper_open (char *name, int from_tty)
> /* Open a connection to an LSI board. */
>
> static void
> -lsi_open (char *name, int from_tty)
> +lsi_open (const char *name, int from_tty)
> {
> int i;
>
> diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
> index 4097372..ff7bf3a 100644
> --- a/gdb/remote-sim.c
> +++ b/gdb/remote-sim.c
> @@ -667,7 +667,7 @@ gdbsim_create_inferior (struct target_ops *target, char *exec_file, char *args,
> /* Called when selecting the simulator. E.g. (gdb) target sim name. */
>
> static void
> -gdbsim_open (char *args, int from_tty)
> +gdbsim_open (const char *args, int from_tty)
> {
> int len;
> char *arg_buf;
> diff --git a/gdb/remote.c b/gdb/remote.c
> index 76efefa..e3e56f3 100644
> --- a/gdb/remote.c
> +++ b/gdb/remote.c
> @@ -102,11 +102,8 @@ static void remote_files_info (struct target_ops *ignore);
> static void remote_prepare_to_store (struct target_ops *self,
> struct regcache *regcache);
>
> -static void remote_open (char *name, int from_tty);
> -
> -static void extended_remote_open (char *name, int from_tty);
> -
> -static void remote_open_1 (char *, int, struct target_ops *, int extended_p);
> +static void remote_open_1 (const char *, int, struct target_ops *,
> + int extended_p);
>
> static void remote_close (struct target_ops *self);
>
> @@ -3619,7 +3616,7 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
> NAME is the filename used for communication. */
>
> static void
> -remote_open (char *name, int from_tty)
> +remote_open (const char *name, int from_tty)
> {
> remote_open_1 (name, from_tty, &remote_ops, 0);
> }
> @@ -3628,7 +3625,7 @@ remote_open (char *name, int from_tty)
> remote gdb protocol. NAME is the filename used for communication. */
>
> static void
> -extended_remote_open (char *name, int from_tty)
> +extended_remote_open (const char *name, int from_tty)
> {
> remote_open_1 (name, from_tty, &extended_remote_ops, 1 /*extended_p */);
> }
> @@ -3727,7 +3724,7 @@ remote_check_symbols (void)
> }
>
> static struct serial *
> -remote_serial_open (char *name)
> +remote_serial_open (const char *name)
> {
> static int udp_warning = 0;
>
> @@ -4128,7 +4125,7 @@ remote_unpush_target (void)
> }
>
> static void
> -remote_open_1 (char *name, int from_tty,
> +remote_open_1 (const char *name, int from_tty,
> struct target_ops *target, int extended_p)
> {
> struct remote_state *rs = get_remote_state ();
> diff --git a/gdb/target.h b/gdb/target.h
> index 92572ff..8ff358e 100644
> --- a/gdb/target.h
> +++ b/gdb/target.h
> @@ -405,7 +405,7 @@ struct target_ops
> command, and (if successful) pushes a new target onto the
> stack. Targets should supply this routine, if only to provide
> an error message. */
> - void (*to_open) (char *, int);
> + void (*to_open) (const char *, int);
> /* Old targets with a static target vector provide "to_close".
> New re-entrant targets provide "to_xclose" and that is expected
> to xfree everything (including the "struct target_ops"). */
> diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c
> index 37dc691..5ba1b15 100644
> --- a/gdb/tracefile-tfile.c
> +++ b/gdb/tracefile-tfile.c
> @@ -376,7 +376,7 @@ tfile_read (gdb_byte *readbuf, int size)
> }
>
> static void
> -tfile_open (char *filename, int from_tty)
> +tfile_open (const char *arg, int from_tty)
> {
> volatile struct gdb_exception ex;
> char *temp;
> @@ -390,12 +390,13 @@ tfile_open (char *filename, int from_tty)
> struct trace_status *ts;
> struct uploaded_tp *uploaded_tps = NULL;
> struct uploaded_tsv *uploaded_tsvs = NULL;
> + char *filename;
>
> target_preopen (from_tty);
> - if (!filename)
> + if (!arg)
> error (_("No trace file specified."));
>
> - filename = tilde_expand (filename);
> + filename = tilde_expand (arg);
> if (!IS_ABSOLUTE_PATH(filename))
> {
> temp = concat (current_directory, "/", filename, (char *) NULL);
>