diff options
author | Pedro Alves <palves@redhat.com> | 2013-07-01 11:24:17 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-07-01 11:24:17 +0000 |
commit | e655c1a2f59367d66f81e446f39b84e9eeee1465 (patch) | |
tree | 4c75f9a3906cdc02983cb69d753acbbf1a410c38 | |
parent | 50dd979345279716cd38d11aa3b175f09b8adbdd (diff) | |
download | gdb-e655c1a2f59367d66f81e446f39b84e9eeee1465.zip gdb-e655c1a2f59367d66f81e446f39b84e9eeee1465.tar.gz gdb-e655c1a2f59367d66f81e446f39b84e9eeee1465.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/config.in | 3 | ||||
-rwxr-xr-x | gdb/configure | 14 | ||||
-rw-r--r-- | gdb/configure.ac | 11 | ||||
-rw-r--r-- | gdb/go32-nat.c | 3 | ||||
-rw-r--r-- | gdb/top.c | 15 | ||||
-rw-r--r-- | gdb/top.h | 2 |
7 files changed, 42 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7edc65a..5a21e6b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,16 @@ 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> + * 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. diff --git a/gdb/config.in b/gdb/config.in index 7cd22e31..92c2789 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -37,6 +37,9 @@ language is requested. */ #undef ENABLE_NLS +/* The .gdbinit filename. */ +#undef GDBINIT + /* look for global separate data files in this path [DATADIR/gdb] */ #undef GDB_DATADIR diff --git a/gdb/configure b/gdb/configure index 383d634..dab0d20 100755 --- a/gdb/configure +++ b/gdb/configure @@ -12329,6 +12329,20 @@ $as_echo "#define HAVE_PERSONALITY 1" >>confdefs.h 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, # except that the argument to --with-sysroot is optional. diff --git a/gdb/configure.ac b/gdb/configure.ac index 46a97bd..e378bde 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1881,6 +1881,17 @@ then [Define if you support the personality syscall.]) 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. # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR, diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c index a3f75b2..4dac617 100644 --- a/gdb/go32-nat.c +++ b/gdb/go32-nat.c @@ -1028,9 +1028,6 @@ init_go32_ops (void) /* We are always processing GCC-compiled programs. */ processing_gcc_compilation = 2; - - /* Override the default name of the GDB init file. */ - strcpy (gdbinit, "gdb.ini"); } /* Return the current DOS codepage number. */ @@ -78,20 +78,9 @@ extern void initialize_all_files (void); #define DEFAULT_PROMPT "(gdb) " #endif -/* Initialization file name for gdb. This is overridden in some configs. */ - -#ifndef PATH_MAX -# ifdef FILENAME_MAX -# define PATH_MAX FILENAME_MAX -# else -# define PATH_MAX 512 -# endif -#endif +/* Initialization file name for gdb. This is host-dependent. */ -#ifndef GDBINIT_FILENAME -#define GDBINIT_FILENAME ".gdbinit" -#endif -char gdbinit[PATH_MAX + 1] = GDBINIT_FILENAME; +const char gdbinit[] = GDBINIT; int inhibit_gdbinit = 0; @@ -28,7 +28,7 @@ extern int in_user_command; extern int confirm; extern char gdb_dirbuf[1024]; extern int inhibit_gdbinit; -extern char gdbinit[]; +extern const char gdbinit[]; extern void print_gdb_version (struct ui_file *); extern void print_gdb_configuration (struct ui_file *); |