Reimplement DJGPP's .gdbinit -> gdb.ini renaming.
This simplifies the .gdbinit filename selection logic. We have a GDBINIT_FILENAME define that supposedly configurations would override, but none do so. Instead, the only configuration that wants a different file name instead of ".gdbinit", djgpp, does a strcpy over the gdbinit global array. This means the array needs to be sized, and the code that does that is doing the usual 'PATH_MAX/FILENAME_MAX/fallback constant/etc.' mess. Instead of all that, it's much simpler to have configure specificy the .gdbinit filename. As bonus, we can then make the "gdbinit" global array const. gdb/ 2013-07-01 Pedro Alves <palves@redhat.com> * configure.ac (GDBINIT): Define, depending on host. * go32-nat.c (init_go32_ops): Don't override gdbinit here. * top.c (PATH_MAX): Delete fallback definition. (GDBINIT_FILENAME): Delete. (gdbinit): Reimplement as const char array set to the GDBINIT string constant. * top.h (gdbinit): Make const.
This commit is contained in:
parent
50dd979345
commit
e655c1a2f5
7 changed files with 42 additions and 17 deletions
|
@ -1,3 +1,14 @@
|
||||||
|
2013-07-01 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac (GDBINIT): Define, depending on host.
|
||||||
|
* go32-nat.c (init_go32_ops): Don't override gdbinit here.
|
||||||
|
* top.c (PATH_MAX): Delete fallback definition.
|
||||||
|
(GDBINIT_FILENAME): Delete.
|
||||||
|
(gdbinit): Reimplement as const char array set to the GDBINIT
|
||||||
|
string constant.
|
||||||
|
* top.h (gdbinit): Make const.
|
||||||
|
* configure, config.in: Regenerate.
|
||||||
|
|
||||||
2013-07-01 Pedro Alves <palves@redhat.com>
|
2013-07-01 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* cli/cli-cmds.c (source_script): Make 'file' parameter const.
|
* cli/cli-cmds.c (source_script): Make 'file' parameter const.
|
||||||
|
|
|
@ -37,6 +37,9 @@
|
||||||
language is requested. */
|
language is requested. */
|
||||||
#undef ENABLE_NLS
|
#undef ENABLE_NLS
|
||||||
|
|
||||||
|
/* The .gdbinit filename. */
|
||||||
|
#undef GDBINIT
|
||||||
|
|
||||||
/* look for global separate data files in this path [DATADIR/gdb] */
|
/* look for global separate data files in this path [DATADIR/gdb] */
|
||||||
#undef GDB_DATADIR
|
#undef GDB_DATADIR
|
||||||
|
|
||||||
|
|
14
gdb/configure
vendored
14
gdb/configure
vendored
|
@ -12329,6 +12329,20 @@ $as_echo "#define HAVE_PERSONALITY 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case $host_os in
|
||||||
|
go32* | *djgpp*)
|
||||||
|
gdbinit=gdb.ini
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
gdbinit=.gdbinit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define GDBINIT "$gdbinit"
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||||
# except that the argument to --with-sysroot is optional.
|
# except that the argument to --with-sysroot is optional.
|
||||||
|
|
|
@ -1881,6 +1881,17 @@ then
|
||||||
[Define if you support the personality syscall.])
|
[Define if you support the personality syscall.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl Set the host's .gdbinit filename.
|
||||||
|
case $host_os in
|
||||||
|
go32* | *djgpp*)
|
||||||
|
gdbinit=gdb.ini
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
gdbinit=.gdbinit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
|
||||||
|
|
||||||
dnl Handle optional features that can be enabled.
|
dnl Handle optional features that can be enabled.
|
||||||
|
|
||||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||||
|
|
|
@ -1028,9 +1028,6 @@ init_go32_ops (void)
|
||||||
|
|
||||||
/* We are always processing GCC-compiled programs. */
|
/* We are always processing GCC-compiled programs. */
|
||||||
processing_gcc_compilation = 2;
|
processing_gcc_compilation = 2;
|
||||||
|
|
||||||
/* Override the default name of the GDB init file. */
|
|
||||||
strcpy (gdbinit, "gdb.ini");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the current DOS codepage number. */
|
/* Return the current DOS codepage number. */
|
||||||
|
|
15
gdb/top.c
15
gdb/top.c
|
@ -78,20 +78,9 @@ extern void initialize_all_files (void);
|
||||||
#define DEFAULT_PROMPT "(gdb) "
|
#define DEFAULT_PROMPT "(gdb) "
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Initialization file name for gdb. This is overridden in some configs. */
|
/* Initialization file name for gdb. This is host-dependent. */
|
||||||
|
|
||||||
#ifndef PATH_MAX
|
const char gdbinit[] = GDBINIT;
|
||||||
# ifdef FILENAME_MAX
|
|
||||||
# define PATH_MAX FILENAME_MAX
|
|
||||||
# else
|
|
||||||
# define PATH_MAX 512
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GDBINIT_FILENAME
|
|
||||||
#define GDBINIT_FILENAME ".gdbinit"
|
|
||||||
#endif
|
|
||||||
char gdbinit[PATH_MAX + 1] = GDBINIT_FILENAME;
|
|
||||||
|
|
||||||
int inhibit_gdbinit = 0;
|
int inhibit_gdbinit = 0;
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ extern int in_user_command;
|
||||||
extern int confirm;
|
extern int confirm;
|
||||||
extern char gdb_dirbuf[1024];
|
extern char gdb_dirbuf[1024];
|
||||||
extern int inhibit_gdbinit;
|
extern int inhibit_gdbinit;
|
||||||
extern char gdbinit[];
|
extern const char gdbinit[];
|
||||||
|
|
||||||
extern void print_gdb_version (struct ui_file *);
|
extern void print_gdb_version (struct ui_file *);
|
||||||
extern void print_gdb_configuration (struct ui_file *);
|
extern void print_gdb_configuration (struct ui_file *);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue