mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-03 05:12:28 +08:00
Constify main.c:get_init_files.
A following patch will want to make the "gdbinit" global array const. As usual, that forces in a cascading series of const additions. This patch preemptively does those. I went all the way up to constifying catch_command_errors, but then that would require constifying execute_command as well (which is a much more significant effort). So as stop point, I found the cleanest would be to add a variant of catch_command_errors that takes const args, and use that in the few spots that needed it due to the the get_init_files constification. gdb/ 2013-07-01 Pedro Alves <palves@redhat.com> * cli/cli-cmds.c (source_script): Make 'file' parameter const. * cli/cli-cmds.h (source_script): Likewise. * exceptions.c (catch_command_errors_const): New function. * exceptions.h (catch_command_errors_const): Declare. * main.c (get_init_files): Make parameters const, and adjust. (captured_main): Make 'system_gdbinit', 'home_gdbinit' and 'local_gdbinit' locals const. Adjust to use catch_command_errors_const. (print_gdb_help): Make 'system_gdbinit', 'home_gdbinit' and 'local_gdbinit' locals const.
This commit is contained in:
@ -1,3 +1,16 @@
|
|||||||
|
2013-07-01 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
|
* cli/cli-cmds.c (source_script): Make 'file' parameter const.
|
||||||
|
* cli/cli-cmds.h (source_script): Likewise.
|
||||||
|
* exceptions.c (catch_command_errors_const): New function.
|
||||||
|
* exceptions.h (catch_command_errors_const): Declare.
|
||||||
|
* main.c (get_init_files): Make parameters const, and adjust.
|
||||||
|
(captured_main): Make 'system_gdbinit', 'home_gdbinit' and
|
||||||
|
'local_gdbinit' locals const. Adjust to use
|
||||||
|
catch_command_errors_const.
|
||||||
|
(print_gdb_help): Make 'system_gdbinit', 'home_gdbinit' and
|
||||||
|
'local_gdbinit' locals const.
|
||||||
|
|
||||||
2013-07-01 Pedro Alves <palves@redhat.com>
|
2013-07-01 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* defs.h: Don't check HAVE_UNISTD_H before including <unistd.h>.
|
* defs.h: Don't check HAVE_UNISTD_H before including <unistd.h>.
|
||||||
|
@ -597,7 +597,7 @@ source_script_with_search (const char *file, int from_tty, int search_path)
|
|||||||
for use in loading .gdbinit scripts. */
|
for use in loading .gdbinit scripts. */
|
||||||
|
|
||||||
void
|
void
|
||||||
source_script (char *file, int from_tty)
|
source_script (const char *file, int from_tty)
|
||||||
{
|
{
|
||||||
source_script_with_search (file, from_tty, 0);
|
source_script_with_search (file, from_tty, 0);
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ extern void cd_command (char *, int);
|
|||||||
|
|
||||||
extern void quit_command (char *, int);
|
extern void quit_command (char *, int);
|
||||||
|
|
||||||
extern void source_script (char *, int);
|
extern void source_script (const char *, int);
|
||||||
|
|
||||||
/* Exported to objfiles.c. */
|
/* Exported to objfiles.c. */
|
||||||
|
|
||||||
|
@ -577,3 +577,19 @@ catch_command_errors (catch_command_errors_ftype *command,
|
|||||||
return 0;
|
return 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
catch_command_errors_const (catch_command_errors_const_ftype *command,
|
||||||
|
const char *arg, int from_tty, return_mask mask)
|
||||||
|
{
|
||||||
|
volatile struct gdb_exception e;
|
||||||
|
|
||||||
|
TRY_CATCH (e, mask)
|
||||||
|
{
|
||||||
|
command (arg, from_tty);
|
||||||
|
}
|
||||||
|
print_any_exception (gdb_stderr, NULL, e);
|
||||||
|
if (e.reason < 0)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
@ -257,4 +257,10 @@ typedef void (catch_command_errors_ftype) (char *, int);
|
|||||||
extern int catch_command_errors (catch_command_errors_ftype *func,
|
extern int catch_command_errors (catch_command_errors_ftype *func,
|
||||||
char *arg, int from_tty, return_mask);
|
char *arg, int from_tty, return_mask);
|
||||||
|
|
||||||
|
/* Like catch_command_errors, but works with const command and args. */
|
||||||
|
|
||||||
|
typedef void (catch_command_errors_const_ftype) (const char *, int);
|
||||||
|
extern int catch_command_errors_const (catch_command_errors_const_ftype *func,
|
||||||
|
const char *arg, int from_tty, return_mask);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
40
gdb/main.c
40
gdb/main.c
@ -160,13 +160,13 @@ relocate_gdb_directory (const char *initial, int flag)
|
|||||||
to be loaded, then SYSTEM_GDBINIT (resp. HOME_GDBINIT and
|
to be loaded, then SYSTEM_GDBINIT (resp. HOME_GDBINIT and
|
||||||
LOCAL_GDBINIT) is set to NULL. */
|
LOCAL_GDBINIT) is set to NULL. */
|
||||||
static void
|
static void
|
||||||
get_init_files (char **system_gdbinit,
|
get_init_files (const char **system_gdbinit,
|
||||||
char **home_gdbinit,
|
const char **home_gdbinit,
|
||||||
char **local_gdbinit)
|
const char **local_gdbinit)
|
||||||
{
|
{
|
||||||
static char *sysgdbinit = NULL;
|
static const char *sysgdbinit = NULL;
|
||||||
static char *homeinit = NULL;
|
static char *homeinit = NULL;
|
||||||
static char *localinit = NULL;
|
static const char *localinit = NULL;
|
||||||
static int initialized = 0;
|
static int initialized = 0;
|
||||||
|
|
||||||
if (!initialized)
|
if (!initialized)
|
||||||
@ -336,9 +336,9 @@ captured_main (void *data)
|
|||||||
int ndir;
|
int ndir;
|
||||||
|
|
||||||
/* gdb init files. */
|
/* gdb init files. */
|
||||||
char *system_gdbinit;
|
const char *system_gdbinit;
|
||||||
char *home_gdbinit;
|
const char *home_gdbinit;
|
||||||
char *local_gdbinit;
|
const char *local_gdbinit;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int save_auto_load;
|
int save_auto_load;
|
||||||
@ -894,7 +894,8 @@ captured_main (void *data)
|
|||||||
processed; it sets global parameters, which are independent of
|
processed; it sets global parameters, which are independent of
|
||||||
what file you are debugging or what directory you are in. */
|
what file you are debugging or what directory you are in. */
|
||||||
if (system_gdbinit && !inhibit_gdbinit)
|
if (system_gdbinit && !inhibit_gdbinit)
|
||||||
catch_command_errors (source_script, system_gdbinit, 0, RETURN_MASK_ALL);
|
catch_command_errors_const (source_script, system_gdbinit,
|
||||||
|
0, RETURN_MASK_ALL);
|
||||||
|
|
||||||
/* Read and execute $HOME/.gdbinit file, if it exists. This is done
|
/* Read and execute $HOME/.gdbinit file, if it exists. This is done
|
||||||
*before* all the command line arguments are processed; it sets
|
*before* all the command line arguments are processed; it sets
|
||||||
@ -902,15 +903,16 @@ captured_main (void *data)
|
|||||||
debugging or what directory you are in. */
|
debugging or what directory you are in. */
|
||||||
|
|
||||||
if (home_gdbinit && !inhibit_gdbinit && !inhibit_home_gdbinit)
|
if (home_gdbinit && !inhibit_gdbinit && !inhibit_home_gdbinit)
|
||||||
catch_command_errors (source_script, home_gdbinit, 0, RETURN_MASK_ALL);
|
catch_command_errors_const (source_script,
|
||||||
|
home_gdbinit, 0, RETURN_MASK_ALL);
|
||||||
|
|
||||||
/* Process '-ix' and '-iex' options early. */
|
/* Process '-ix' and '-iex' options early. */
|
||||||
for (i = 0; VEC_iterate (cmdarg_s, cmdarg_vec, i, cmdarg_p); i++)
|
for (i = 0; VEC_iterate (cmdarg_s, cmdarg_vec, i, cmdarg_p); i++)
|
||||||
switch (cmdarg_p->type)
|
switch (cmdarg_p->type)
|
||||||
{
|
{
|
||||||
case CMDARG_INIT_FILE:
|
case CMDARG_INIT_FILE:
|
||||||
catch_command_errors (source_script, cmdarg_p->string,
|
catch_command_errors_const (source_script, cmdarg_p->string,
|
||||||
!batch_flag, RETURN_MASK_ALL);
|
!batch_flag, RETURN_MASK_ALL);
|
||||||
break;
|
break;
|
||||||
case CMDARG_INIT_COMMAND:
|
case CMDARG_INIT_COMMAND:
|
||||||
catch_command_errors (execute_command, cmdarg_p->string,
|
catch_command_errors (execute_command, cmdarg_p->string,
|
||||||
@ -1006,8 +1008,8 @@ captured_main (void *data)
|
|||||||
{
|
{
|
||||||
auto_load_local_gdbinit_loaded = 1;
|
auto_load_local_gdbinit_loaded = 1;
|
||||||
|
|
||||||
catch_command_errors (source_script, local_gdbinit, 0,
|
catch_command_errors_const (source_script, local_gdbinit, 0,
|
||||||
RETURN_MASK_ALL);
|
RETURN_MASK_ALL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1024,8 +1026,8 @@ captured_main (void *data)
|
|||||||
switch (cmdarg_p->type)
|
switch (cmdarg_p->type)
|
||||||
{
|
{
|
||||||
case CMDARG_FILE:
|
case CMDARG_FILE:
|
||||||
catch_command_errors (source_script, cmdarg_p->string,
|
catch_command_errors_const (source_script, cmdarg_p->string,
|
||||||
!batch_flag, RETURN_MASK_ALL);
|
!batch_flag, RETURN_MASK_ALL);
|
||||||
break;
|
break;
|
||||||
case CMDARG_COMMAND:
|
case CMDARG_COMMAND:
|
||||||
catch_command_errors (execute_command, cmdarg_p->string,
|
catch_command_errors (execute_command, cmdarg_p->string,
|
||||||
@ -1075,9 +1077,9 @@ gdb_main (struct captured_main_args *args)
|
|||||||
static void
|
static void
|
||||||
print_gdb_help (struct ui_file *stream)
|
print_gdb_help (struct ui_file *stream)
|
||||||
{
|
{
|
||||||
char *system_gdbinit;
|
const char *system_gdbinit;
|
||||||
char *home_gdbinit;
|
const char *home_gdbinit;
|
||||||
char *local_gdbinit;
|
const char *local_gdbinit;
|
||||||
|
|
||||||
get_init_files (&system_gdbinit, &home_gdbinit, &local_gdbinit);
|
get_init_files (&system_gdbinit, &home_gdbinit, &local_gdbinit);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user