From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4706 invoked by alias); 27 Jun 2013 18:52:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 4670 invoked by uid 89); 27 Jun 2013 18:52:46 -0000 X-Spam-SWARE-Status: No, score=-8.0 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS,TW_CP autolearn=ham version=3.3.1 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Thu, 27 Jun 2013 18:52:45 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r5RIqi6s005516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 27 Jun 2013 14:52:44 -0400 Received: from brno.lan (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r5RIqhXg021624 for ; Thu, 27 Jun 2013 14:52:44 -0400 Subject: [PATCH 6/9] Reimplement DJGPP's .gdbinit -> gdb.ini renaming. To: gdb-patches@sourceware.org From: Pedro Alves Date: Thu, 27 Jun 2013 18:52:00 -0000 Message-ID: <20130627185243.6625.58681.stgit@brno.lan> In-Reply-To: <20130627185200.6625.10526.stgit@brno.lan> References: <20130627185200.6625.10526.stgit@brno.lan> User-Agent: StGit/0.16 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-SW-Source: 2013-06/txt/msg00845.txt.bz2 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-06-27 Pedro Alves * 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. --- gdb/config.in | 3 +++ gdb/configure | 14 ++++++++++++++ gdb/configure.ac | 11 +++++++++++ gdb/go32-nat.c | 3 --- gdb/top.c | 15 ++------------- gdb/top.h | 2 +- 6 files changed, 31 insertions(+), 17 deletions(-) diff --git a/gdb/config.in b/gdb/config.in index 7cd22e3..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. */ diff --git a/gdb/top.c b/gdb/top.c index 8ac756f..e78897f 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -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; diff --git a/gdb/top.h b/gdb/top.h index 44aefb1..2f70539 100644 --- a/gdb/top.h +++ b/gdb/top.h @@ -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 *);