aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog18
-rw-r--r--gdb/defs.h2
-rw-r--r--gdb/m32r-rom.c2
-rw-r--r--gdb/monitor.c2
-rw-r--r--gdb/remote-m32r-sdi.c25
-rw-r--r--gdb/remote-mips.c10
-rw-r--r--gdb/remote-sim.c5
-rw-r--r--gdb/remote.c2
-rw-r--r--gdb/symfile.c2
-rw-r--r--gdb/target-delegates.c4
-rw-r--r--gdb/target.c6
-rw-r--r--gdb/target.h4
12 files changed, 45 insertions, 37 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 115b440..5ebae5e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,23 @@
2014-06-26 Tom Tromey <tromey@redhat.com>
+ * defs.h (generic_load): Update.
+ * m32r-rom.c (m32r_load_gen): Make "filename" const.
+ * monitor.c (monitor_load): Make "args" const.
+ * remote-m32r-sdi.c (m32r_load): Make "args" const.
+ * remote-mips.c (mips_load_srec, pmon_load_fast): Make "args"
+ const.
+ (mips_load): Make "file" const.
+ * remote-sim.c (gdbsim_load): Make "args" const.
+ * remote.c (remote_load): Make "name" const.
+ * symfile.c (generic_load): Make "args" const.
+ * target-delegates.c: Rebuild.
+ * target.c (target_load): Make "arg" const.
+ (debug_to_load): Make "args" const.
+ * target.h (struct target_ops) <to_load>: Make parameter const.
+ (target_load): Update.
+
+2014-06-26 Tom Tromey <tromey@redhat.com>
+
PR symtab/16902:
* dwarf2read.c (fixup_go_packaging, dwarf2_compute_name)
(dwarf2_physname, read_partial_die)
diff --git a/gdb/defs.h b/gdb/defs.h
index b7e9ff4..511279a 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -291,7 +291,7 @@ extern char *re_comp (const char *);
extern void symbol_file_command (char *, int);
/* * Remote targets may wish to use this as their load function. */
-extern void generic_load (char *name, int from_tty);
+extern void generic_load (const char *name, int from_tty);
/* * Report on STREAM the performance of memory transfer operation,
such as 'load'.
diff --git a/gdb/m32r-rom.c b/gdb/m32r-rom.c
index 2ca23ae..0ab252a 100644
--- a/gdb/m32r-rom.c
+++ b/gdb/m32r-rom.c
@@ -196,7 +196,7 @@ m32r_load (char *filename, int from_tty)
}
static void
-m32r_load_gen (struct target_ops *self, char *filename, int from_tty)
+m32r_load_gen (struct target_ops *self, const char *filename, int from_tty)
{
generic_load (filename, from_tty);
}
diff --git a/gdb/monitor.c b/gdb/monitor.c
index 4a57d5e..61f0dff 100644
--- a/gdb/monitor.c
+++ b/gdb/monitor.c
@@ -2200,7 +2200,7 @@ monitor_wait_srec_ack (void)
/* monitor_load -- download a file. */
static void
-monitor_load (struct target_ops *self, char *args, int from_tty)
+monitor_load (struct target_ops *self, const char *args, int from_tty)
{
CORE_ADDR load_offset = 0;
char **argv;
diff --git a/gdb/remote-m32r-sdi.c b/gdb/remote-m32r-sdi.c
index 9c57171..37efaec 100644
--- a/gdb/remote-m32r-sdi.c
+++ b/gdb/remote-m32r-sdi.c
@@ -1238,9 +1238,9 @@ m32r_remove_breakpoint (struct target_ops *ops,
}
static void
-m32r_load (struct target_ops *self, char *args, int from_tty)
+m32r_load (struct target_ops *self, const char *args, int from_tty)
{
- struct cleanup *old_chain;
+ struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
asection *section;
bfd *pbfd;
bfd_vma entry;
@@ -1258,17 +1258,11 @@ m32r_load (struct target_ops *self, char *args, int from_tty)
while (*args != '\000')
{
- char *arg;
+ char *arg = extract_arg_const (&args);
- args = skip_spaces (args);
-
- arg = args;
-
- while ((*args != '\000') && !isspace (*args))
- args++;
-
- if (*args != '\000')
- *args++ = '\000';
+ if (arg == NULL)
+ break;
+ make_cleanup (xfree, arg);
if (*arg != '-')
filename = arg;
@@ -1285,11 +1279,8 @@ m32r_load (struct target_ops *self, char *args, int from_tty)
pbfd = gdb_bfd_open (filename, gnutarget, -1);
if (pbfd == NULL)
- {
- perror_with_name (filename);
- return;
- }
- old_chain = make_cleanup_bfd_unref (pbfd);
+ perror_with_name (filename);
+ make_cleanup_bfd_unref (pbfd);
if (!bfd_check_format (pbfd, bfd_object))
error (_("\"%s\" is not an object file: %s"), filename,
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index 7f0d957..277621d 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -128,9 +128,7 @@ static void pmon_end_download (int final, int bintotal);
static void pmon_download (char *buffer, int length);
-static void pmon_load_fast (char *file);
-
-static void mips_load (struct target_ops *self, char *file, int from_tty);
+static void mips_load (struct target_ops *self, const char *file, int from_tty);
static int mips_make_srec (char *buffer, int type, CORE_ADDR memaddr,
unsigned char *myaddr, int len);
@@ -2804,7 +2802,7 @@ send_srec (char *srec, int len, CORE_ADDR addr)
/* Download a binary file by converting it to S records. */
static void
-mips_load_srec (char *args)
+mips_load_srec (const char *args)
{
bfd *abfd;
asection *s;
@@ -3389,7 +3387,7 @@ pmon_download (char *buffer, int length)
using the FastLoad format. */
static void
-pmon_load_fast (char *file)
+pmon_load_fast (const char *file)
{
bfd *abfd;
asection *s;
@@ -3548,7 +3546,7 @@ pmon_load_fast (char *file)
/* mips_load -- download a file. */
static void
-mips_load (struct target_ops *self, char *file, int from_tty)
+mips_load (struct target_ops *self, const char *file, int from_tty)
{
struct regcache *regcache;
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 2e7db4b..4097372 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -73,7 +73,8 @@ static void gdb_os_error (host_callback *, const char *, ...)
static void gdbsim_kill (struct target_ops *);
-static void gdbsim_load (struct target_ops *self, char *prog, int fromtty);
+static void gdbsim_load (struct target_ops *self, const char *prog,
+ int fromtty);
static void gdbsim_open (char *args, int from_tty);
@@ -562,7 +563,7 @@ gdbsim_kill (struct target_ops *ops)
GDB's symbol tables to match. */
static void
-gdbsim_load (struct target_ops *self, char *args, int fromtty)
+gdbsim_load (struct target_ops *self, const char *args, int fromtty)
{
char **argv;
const char *prog;
diff --git a/gdb/remote.c b/gdb/remote.c
index b5318f1..b6f3ddb 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -11378,7 +11378,7 @@ remote_augmented_libraries_svr4_read (struct target_ops *self)
/* Implementation of to_load. */
static void
-remote_load (struct target_ops *self, char *name, int from_tty)
+remote_load (struct target_ops *self, const char *name, int from_tty)
{
generic_load (name, from_tty);
}
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 84858dc..42707ac 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2090,7 +2090,7 @@ clear_memory_write_data (void *arg)
}
void
-generic_load (char *args, int from_tty)
+generic_load (const char *args, int from_tty)
{
bfd *loadfile_bfd;
struct timeval start_time, end_time;
diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
index eaab916..38ca2b4 100644
--- a/gdb/target-delegates.c
+++ b/gdb/target-delegates.c
@@ -381,14 +381,14 @@ tdefault_kill (struct target_ops *self)
}
static void
-delegate_load (struct target_ops *self, char *arg1, int arg2)
+delegate_load (struct target_ops *self, const char *arg1, int arg2)
{
self = self->beneath;
self->to_load (self, arg1, arg2);
}
static void
-tdefault_load (struct target_ops *self, char *arg1, int arg2)
+tdefault_load (struct target_ops *self, const char *arg1, int arg2)
{
tcomplain ();
}
diff --git a/gdb/target.c b/gdb/target.c
index f384ed0..ece59e6 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -169,7 +169,7 @@ static void debug_to_terminal_save_ours (struct target_ops *self);
static void debug_to_terminal_ours (struct target_ops *self);
-static void debug_to_load (struct target_ops *self, char *, int);
+static void debug_to_load (struct target_ops *self, const char *, int);
static int debug_to_can_run (struct target_ops *self);
@@ -476,7 +476,7 @@ target_kill (void)
}
void
-target_load (char *arg, int from_tty)
+target_load (const char *arg, int from_tty)
{
target_dcache_invalidate ();
(*current_target.to_load) (&current_target, arg, from_tty);
@@ -3876,7 +3876,7 @@ debug_to_terminal_info (struct target_ops *self,
}
static void
-debug_to_load (struct target_ops *self, char *args, int from_tty)
+debug_to_load (struct target_ops *self, const char *args, int from_tty)
{
debug_target.to_load (&debug_target, args, from_tty);
diff --git a/gdb/target.h b/gdb/target.h
index 96d5cb1..a0a0d30 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -499,7 +499,7 @@ struct target_ops
TARGET_DEFAULT_FUNC (default_terminal_info);
void (*to_kill) (struct target_ops *)
TARGET_DEFAULT_NORETURN (noprocess ());
- void (*to_load) (struct target_ops *, char *, int)
+ void (*to_load) (struct target_ops *, const char *, int)
TARGET_DEFAULT_NORETURN (tcomplain ());
/* Start an inferior process and set inferior_ptid to its pid.
EXEC_FILE is the file to run.
@@ -1423,7 +1423,7 @@ extern void target_kill (void);
sections. The target may define switches, or other non-switch
arguments, as it pleases. */
-extern void target_load (char *arg, int from_tty);
+extern void target_load (const char *arg, int from_tty);
/* Some targets (such as ttrace-based HPUX) don't allow us to request
notification of inferior events such as fork and vork immediately