From patchwork Sun Nov 30 18:12:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kratochvil X-Patchwork-Id: 4015 Received: (qmail 7406 invoked by alias); 30 Nov 2014 18:12:56 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 7196 invoked by uid 89); 30 Nov 2014 18:12:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.9 required=5.0 tests=AWL, BAYES_00, SPF_HELO_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 30 Nov 2014 18:12:52 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sAUICnLI017220 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 30 Nov 2014 13:12:49 -0500 Received: from host2.jankratochvil.net (ovpn-116-31.ams2.redhat.com [10.36.116.31]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sAUICj5H024120 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Sun, 30 Nov 2014 13:12:47 -0500 Date: Sun, 30 Nov 2014 19:12:44 +0100 From: Jan Kratochvil To: gdb-patches@sourceware.org Cc: Jakub Filak , Eli Zaretskii Subject: doc ping: [patch] Add add-auto-load-scripts-directory Message-ID: <20141130181244.GA30379@host2.jankratochvil.net> References: <20141113152637.GB8651@host2.jankratochvil.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20141113152637.GB8651@host2.jankratochvil.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes ping: On Thu, 13 Nov 2014 16:26:37 +0100, Jan Kratochvil wrote: Hi, there is already "add-auto-load-safe-path" which works like "set auto-load safe-path" but in append mode. There was missing an append equivalent for "set auto-load scripts-directory". ABRT has directory /var/cache/abrt-di/ as an alternative one to /usr/lib/debug/ . Therefore ABRT needs to use -iex parameters to add this /var/cache/abrt-di/ directory as a first-class debuginfo directory. Using absolute "set auto-load scripts-directory" would hard-code the path possibly overriding local system directory additions; besides it would not be nice anyway. No regressions on {x86_64,x86_64-m32,i686}-fedora21-linux-gnu; although I have seen some heavy regressions there today unrelated to this patch. Thanks, Jan gdb/ 2014-11-13 Jan Kratochvil Add add-auto-load-scripts-directory. * NEWS (Changes since GDB 7.8): Add add-auto-load-scripts-directory. * auto-load.c (add_auto_load_dir): New function. (_initialize_auto_load): Install it. gdb/doc/ 2014-11-13 Jan Kratochvil Add add-auto-load-scripts-directory. * gdb.texinfo (Auto-loading): Add add-auto-load-scripts-directory link. (objfile-gdbdotext file): Add add-auto-load-scripts-directory. diff --git a/gdb/NEWS b/gdb/NEWS index 649c29e..6843482 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -27,6 +27,10 @@ queue-signal signal-name-or-number Queue a signal to be delivered to the thread when it is resumed. +add-auto-load-scripts-directory directory + Add entries to the list of directories from which to load auto-loaded + scripts. + * On resume, GDB now always passes the signal the program had stopped for to the thread the signal was sent to, even if the user changed threads before resuming. Previously GDB would often (but not diff --git a/gdb/auto-load.c b/gdb/auto-load.c index 0f59739..5906579 100644 --- a/gdb/auto-load.c +++ b/gdb/auto-load.c @@ -317,6 +317,22 @@ Use 'set auto-load safe-path /' for disabling the auto-load safe-path security.\ auto_load_safe_path_vec_update (); } +/* "add-auto-load-scripts-directory" command for the auto_load_dir configuration + variable. */ + +static void +add_auto_load_dir (char *args, int from_tty) +{ + char *s; + + if (args == NULL || *args == 0) + error (_("Directory argument required.")); + + s = xstrprintf ("%s%c%s", auto_load_dir, DIRNAME_SEPARATOR, args); + xfree (auto_load_dir); + auto_load_dir = s; +} + /* Implementation for filename_is_in_pattern overwriting the caller's FILENAME and PATTERN. */ @@ -1526,6 +1542,15 @@ access the current full list setting."), &cmdlist); set_cmd_completer (cmd, filename_completer); + cmd = add_cmd ("add-auto-load-scripts-directory", class_support, + add_auto_load_dir, + _("Add entries to the list of directories from which to load " + "auto-loaded scripts.\n\ +See the commands 'set auto-load scripts-directory' and\n\ +'show auto-load scripts-directory' to access the current full list setting."), + &cmdlist); + set_cmd_completer (cmd, filename_completer); + add_setshow_boolean_cmd ("auto-load", class_maintenance, &debug_auto_load, _("\ Set auto-load verifications debugging."), _("\ diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 15c2908..2d382ba 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22414,6 +22414,8 @@ These are @value{GDBN} control commands for the auto-loading: @tab Control for @value{GDBN} auto-loaded scripts location. @item @xref{show auto-load scripts-directory}. @tab Show @value{GDBN} auto-loaded scripts location. +@item @xref{add-auto-load-scripts-directory}. +@tab Add directory for auto-loaded scripts location list. @item @xref{set auto-load local-gdbinit}. @tab Control for init file in the current directory. @item @xref{show auto-load local-gdbinit}. @@ -23713,6 +23715,12 @@ to the @env{PATH} environment variable. @kindex show auto-load scripts-directory @item show auto-load scripts-directory Show @value{GDBN} auto-loaded scripts location. + +@anchor{add-auto-load-scripts-directory} +@kindex add-auto-load-scripts-directory +@item add-auto-load-scripts-directory @r{[}@var{directories}@r{]} +Add an entry (or list of entries) to the list of auto-loaded scripts locations. +Multiple entries may be delimited by the host platform path separator in use. @end table @value{GDBN} does not track which files it has already auto-loaded this way.