From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27571 invoked by alias); 9 Apr 2013 16:39:46 -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 27562 invoked by uid 89); 9 Apr 2013 16:39:46 -0000 X-Spam-SWARE-Status: No, score=-6.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD,TW_XD autolearn=ham version=3.3.1 Received: from mail-ob0-f201.google.com (HELO mail-ob0-f201.google.com) (209.85.214.201) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 09 Apr 2013 16:39:45 +0000 Received: by mail-ob0-f201.google.com with SMTP id uz6so1798791obc.2 for ; Tue, 09 Apr 2013 09:39:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:mime-version:content-type:content-transfer-encoding :message-id:date:to:cc:subject:in-reply-to:references:x-mailer :x-gm-message-state; bh=i/SSup/xL8qEeNnQMSeyecaUt+3fGzdN5GfNmRK02co=; b=J7lDDIj+ujHqydfCZT24VURcL0OYpc1ZmYFJkGPH3Mps1c6V44002L6ybYSe/GlwX4 7cFPCTpJhTt2fDPXJh1uHkHesg6rub4dKgfmQBpEJpX/4ocDF6ts+BdCcKQCMlaZisor 2+EWpDaF1y+FaJTge5+nVCiRjb/OAl45E+nDoYvtR1M+HveIGDWEqwTygHJbyygiEuoZ YvUCi4F5VB5Zqf+wspBSuRlGIzdIkLKyEWsCnt5kMPVjyOaHbCoOz021y2FacSOcUavd Fe8auahWmEHnSp3GohE/QuNc40CryaeJZoCyyQegaqEhWnNKy5mbNZqpKpxzprtEbPp+ ULLQ== X-Received: by 10.42.178.2 with SMTP id bk2mr20213376icb.26.1365525583692; Tue, 09 Apr 2013 09:39:43 -0700 (PDT) Received: from corp2gmr1-1.hot.corp.google.com (corp2gmr1-1.hot.corp.google.com [172.24.189.92]) by gmr-mx.google.com with ESMTPS id x4si2185413igl.2.2013.04.09.09.39.43 (version=TLSv1.1 cipher=AES128-SHA bits=128/128); Tue, 09 Apr 2013 09:39:43 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com (ruffy2.mtv.corp.google.com [172.17.128.107]) by corp2gmr1-1.hot.corp.google.com (Postfix) with ESMTP id 2532A31C0A5; Tue, 9 Apr 2013 09:39:41 -0700 (PDT) From: Doug Evans MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <20836.17485.525118.795474@ruffy2.mtv.corp.google.com> Date: Tue, 09 Apr 2013 19:46:00 -0000 To: Eli Zaretskii Cc: tromey@redhat.com, brobecker@adacore.com, palves@redhat.com, gdb-patches@sourceware.org Subject: Re: [PATCH] Display configuration details in --help In-Reply-To: <83wqsbadfe.fsf@gnu.org> References: <83r4jaynqq.fsf@gnu.org> <514B4AC3.1090103@redhat.com> <83zjxwy4ux.fsf@gnu.org> <20130321191051.GF5447@adacore.com> <83r4j8y1kh.fsf@gnu.org> <20130321203919.GG5447@adacore.com> <87r4j8zd0k.fsf@fleche.redhat.com> <83ehf85u7x.fsf@gnu.org> <83wqsbadfe.fsf@gnu.org> X-Gm-Message-State: ALoCoQl4UEmes+BTTiD5ZSX0vnXtVw55mJZBlC5GuCoAOfUpC07rIHYNuG0Ln2oIoi8A1pEnnCG86w8914dkbrXvlRUGDnyZch4ePlUeAyZ/+y5TbFMzQQYxLuV0So8Gq1Go6CgCVSE0gP6ut5EVNgV22l3uOqSDkBx4vHukC81cnFMpDHChcHnKyCvFXHr6kqp3mHl71y1tkJy87/KQLDtEUO5EWHQLeA== X-SW-Source: 2013-04/txt/msg00245.txt.bz2 Eli Zaretskii writes: > > Date: Thu, 21 Mar 2013 23:16:50 +0200 > > From: Eli Zaretskii > > Cc: brobecker@adacore.com, palves@redhat.com, dje@google.com, gdb-patches@sourceware.org > > > > > From: Tom Tromey > > > Cc: Eli Zaretskii , palves@redhat.com, dje@google.com, > > > gdb-patches@sourceware.org > > > Date: Thu, 21 Mar 2013 14:58:03 -0600 > > > > > > For the new information, "show configuration" might also be nice to have. > > > It would not be much more code and would let people see the info for the > > > gdb they are currently using. > > > > OK, will do. > > Respinning, here's v2 of that patch, which accommodates all the > comments till now. It also includes documentation; please someone > review that, as I'm not objective in this case ;-). > > OK to commit? Hi. A few comments inline. > 2013-04-09 Eli Zaretskii > > * top.c (print_gdb_configuration): New function, displays the > details about GDB configure-time parameters. > (print_gdb_version): Mention "show configuration". > > * cli/cli-cmds.c (show_configuration): New function. > (_initialize_cli_cmds): Add the "show configuration" command. > > * main.c (captured_main) : New static var. > : Use it. > If --configuration was given, call print_gdb_configuration. > > > --- gdb/cli/cli-cmds.c~0 2013-03-12 19:39:44.000000000 +0200 > +++ gdb/cli/cli-cmds.c 2013-04-09 08:02:46.088591300 +0300 > @@ -314,6 +314,12 @@ show_version (char *args, int from_tty) > printf_filtered ("\n"); > } > > +static void > +show_configuration (char *args, int from_tty) > +{ > + print_gdb_configuration (gdb_stdout); > +} > + > /* Handle the quit command. */ > > void > @@ -1756,6 +1762,9 @@ the previous command number shown."), > add_cmd ("version", no_set_class, show_version, > _("Show what version of GDB this is."), &showlist); > > + add_cmd ("configuration", no_set_class, show_configuration, > + _("Show how GDB was configured at build time."), &showlist); > + > /* If target is open when baud changes, it doesn't take effect until > the next open (I think, not sure). */ > add_setshow_zinteger_cmd ("remotebaud", no_class, &baud_rate, _("\ > > > > --- gdb/top.c~0 2013-01-25 16:17:10.000000000 +0200 > +++ gdb/top.c 2013-04-09 08:02:27.508872200 +0300 > @@ -1146,15 +1146,101 @@ and \"show warranty\" for details.\n"); > { > fprintf_filtered (stream, "%s", host_name); > } > - fprintf_filtered (stream, "\"."); > + fprintf_filtered (stream, "\".\n\ > +Type \"show configuration\" for configuration details."); > > if (REPORT_BUGS_TO[0]) > { > - fprintf_filtered (stream, > + fprintf_filtered (stream, > _("\nFor bug reporting instructions, please see:\n")); > fprintf_filtered (stream, "%s.", REPORT_BUGS_TO); > } > } I have a bit of a phobia of adding more lines to gdb's initial output. It's too long already IMO. [I realize there's -q.] I'm not objecting per se. Just wondering how critical this is. > +/* Print the details of GDB build-time configuration. */ > +void > +print_gdb_configuration (struct ui_file *stream) > +{ > + fprintf_filtered (stream, _("\ > +This GDB was configured as follows:\n\ > + configure --host=%s --target=%s\n\ > +"), host_name, target_name); > + fprintf_filtered (stream, _("\ > + --with-auto-load-dir=%s\n\ > + --with-auto-load-safe-path=%s\n\ > +"), AUTO_LOAD_DIR, AUTO_LOAD_SAFE_PATH); > +#if HAVE_LIBEXPAT > + fprintf_filtered (stream, _("\ > + --with-expat\n\ > +")); > +#else > + fprintf_filtered (stream, _("\ > + --without-expat\n\ > +")); > +#endif If we've already discussed this, please ignore, but ... :-) I'd prefer one line per fprintf instead of three. [I realize there are some cases where one line won't do, and this style makes them all consistent. I still prefer one line for the common case.] If others don't object to it, then it's not that important. Also, is there something driving the choice of indenting 13 spaces in? How about 2 or 4? For consistency with print_gdb_help I'd go with 2. > + if (GDB_DATADIR[0]) > + fprintf_filtered (stream, _("\ > + --with-gdb-datadir=%s%s\n\ > +"), GDB_DATADIR, GDB_DATADIR_RELOCATABLE ? " (relocatable)" : ""); > +#ifdef ICONV_BIN > + fprintf_filtered (stream, _("\ > + --with-iconv-bin=%s%s\n\ > +"), ICONV_BIN, ICONV_BIN_RELOCATABLE ? " (relocatable)" : ""); > +#endif > + if (JIT_READER_DIR[0]) > + fprintf_filtered (stream, _("\ > + --with-jit-reader-dir=%s%s\n\ > +"), JIT_READER_DIR, JIT_READER_DIR_RELOCATABLE ? " (relocatable)" : ""); > +#if HAVE_LIBUNWIND_IA64_H > + fprintf_filtered (stream, _("\ > + --with-libunwind-ia64\n\ > +")); > +#else > + fprintf_filtered (stream, _("\ > + --without-libunwind-ia64\n\ > +")); > +#endif > +#if HAVE_LIBLZMA > + fprintf_filtered (stream, _("\ > + --with-lzma\n\ > +")); > +#else > + fprintf_filtered (stream, _("\ > + --without-lzma\n\ > +")); > +#endif > +#ifdef WITH_PYTHON_PATH > + fprintf_filtered (stream, _("\ > + --with-python=%s%s\n\ > +"), WITH_PYTHON_PATH, PYTHON_PATH_RELOCATABLE ? " (relocatable)" : ""); > +#endif > +#ifdef RELOC_SRCDIR > + fprintf_filtered (stream, _("\ > + --with-relocated-sources=%s\n\ > +"), RELOC_SRCDIR); > +#endif > + if (DEBUGDIR[0]) > + fprintf_filtered (stream, _("\ > + --with-separate-debug-dir=%s%s\n\ > +"), DEBUGDIR, DEBUGDIR_RELOCATABLE ? " (relocatable)" : ""); > + if (TARGET_SYSTEM_ROOT[0]) > + fprintf_filtered (stream, _("\ > + --with-sysroot=%s%s\n\ > +"), TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_RELOCATABLE ? " (relocatable)" : ""); > + if (SYSTEM_GDBINIT[0]) > + fprintf_filtered (stream, _("\ > + --with-system-gdbinit=%s%s\n\ > +"), SYSTEM_GDBINIT, SYSTEM_GDBINIT_RELOCATABLE ? " (relocatable)" : ""); > +#if HAVE_ZLIB_H > + fprintf_filtered (stream, _("\ > + --with-zlib\n\ > +")); > +#else > + fprintf_filtered (stream, _("\ > + --without-zlib\n\ > +")); > +#endif > +} > > > /* The current top level prompt, settable with "set prompt", and/or > > > --- gdb/main.c~4 2013-04-09 08:40:03.404632700 +0300 > +++ gdb/main.c 2013-04-09 08:08:00.461806500 +0300 > @@ -322,6 +322,7 @@ captured_main (void *data) > initializer. */ > static int print_help; > static int print_version; > + static int print_configuration; > > /* Pointers to all arguments of --command option. */ > VEC (cmdarg_s) *cmdarg_vec = NULL; > @@ -484,6 +485,7 @@ captured_main (void *data) > {"command", required_argument, 0, 'x'}, > {"eval-command", required_argument, 0, 'X'}, > {"version", no_argument, &print_version, 1}, > + {"configuration", no_argument, &print_configuration, 1}, > {"x", required_argument, 0, 'x'}, > {"ex", required_argument, 0, 'X'}, > {"init-command", required_argument, 0, OPT_IX}, > @@ -727,8 +729,9 @@ captured_main (void *data) > } > } > > - /* If --help or --version, disable window interface. */ > - if (print_help || print_version) > + /* If --help or --version or --configuration, disable window > + interface. */ > + if (print_help || print_version || print_configuration) > { > use_windows = 0; > } > @@ -819,6 +822,14 @@ captured_main (void *data) > exit (0); > } > > + if (print_configuration) > + { > + print_gdb_configuration (gdb_stdout); > + wrap_here (""); > + printf_filtered ("\n"); > + exit (0); > + } > + > /* FIXME: cagney/2003-02-03: The big hack (part 1 of 2) that lets > GDB retain the old MI1 interpreter startup behavior. Output the > copyright message before the interpreter is installed. That way > @@ -1130,6 +1141,7 @@ Options:\n\n\ > #endif > fputs_unfiltered (_("\ > --version Print version information and then exit.\n\ > + --configuration Print details about GDB configuration and then exit.\n\ > -w Use a window interface.\n\ > --write Set writing into executable and core files.\n\ > --xdb XDB compatibility mode.\n\ The options here are (mostly) sorted alphabetically.