Blame SOURCES/gdb-rhbz1163339-add-auto-load-scripts-directory.patch

2c2fa1
Date: Thu, 13 Nov 2014 16:26:37 +0100
2c2fa1
From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
2c2fa1
To: gdb-patches at sourceware dot org
2c2fa1
Cc: Jakub Filak <jfilak at redhat dot com>
2c2fa1
Subject: [patch] Add add-auto-load-scripts-directory
2c2fa1
2c2fa1
--jho1yZJdad60DJr+
2c2fa1
Content-Type: text/plain; charset=us-ascii
2c2fa1
Content-Disposition: inline
2c2fa1
2c2fa1
Hi,
2c2fa1
2c2fa1
there is already "add-auto-load-safe-path" which works
2c2fa1
like "set auto-load safe-path" but in append mode.
2c2fa1
2c2fa1
There was missing an append equivalent for "set auto-load scripts-directory".
2c2fa1
2c2fa1
ABRT has directory /var/cache/abrt-di/ as an alternative one
2c2fa1
to /usr/lib/debug/ . Therefore ABRT needs to use -iex parameters to add this
2c2fa1
/var/cache/abrt-di/ directory as a first-class debuginfo directory.
2c2fa1
Using absolute "set auto-load scripts-directory" would hard-code the path
2c2fa1
possibly overriding local system directory additions; besides it would not be
2c2fa1
nice anyway.
2c2fa1
2c2fa1
No regressions on {x86_64,x86_64-m32,i686}-fedora21-linux-gnu; although I have
2c2fa1
seen some heavy regressions there today unrelated to this patch.
2c2fa1
2c2fa1
2c2fa1
Thanks,
2c2fa1
Jan
2c2fa1
2c2fa1
--jho1yZJdad60DJr+
2c2fa1
Content-Type: text/plain; charset=us-ascii
2c2fa1
Content-Disposition: inline; filename="addautoload.patch"
2c2fa1
2c2fa1
gdb/
2c2fa1
2014-11-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
2c2fa1
2c2fa1
	Add add-auto-load-scripts-directory.
2c2fa1
	* NEWS (Changes since GDB 7.8): Add add-auto-load-scripts-directory.
2c2fa1
	* auto-load.c (add_auto_load_dir): New function.
2c2fa1
	(_initialize_auto_load): Install it.
2c2fa1
2c2fa1
gdb/doc/
2c2fa1
2014-11-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
2c2fa1
2c2fa1
	Add add-auto-load-scripts-directory.
2c2fa1
	* gdb.texinfo (Auto-loading): Add add-auto-load-scripts-directory link.
2c2fa1
	(objfile-gdbdotext file): Add add-auto-load-scripts-directory.
2c2fa1
2c2fa1
Index: gdb-7.6.1/gdb/NEWS
2c2fa1
===================================================================
2c2fa1
--- gdb-7.6.1.orig/gdb/NEWS
2c2fa1
+++ gdb-7.6.1/gdb/NEWS
2c2fa1
@@ -1,6 +1,12 @@
2c2fa1
 		What has changed in GDB?
2c2fa1
 	     (Organized release by release)
2c2fa1
 
2c2fa1
+* New commands:
2c2fa1
+
2c2fa1
+add-auto-load-scripts-directory directory
2c2fa1
+  Add entries to the list of directories from which to load auto-loaded
2c2fa1
+  scripts.
2c2fa1
+
2c2fa1
 * Newly installed $prefix/bin/gcore acts as a shell interface for the
2c2fa1
   GDB command gcore.
2c2fa1
 
2c2fa1
Index: gdb-7.6.1/gdb/auto-load.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.6.1.orig/gdb/auto-load.c
2c2fa1
+++ gdb-7.6.1/gdb/auto-load.c
2c2fa1
@@ -298,6 +298,22 @@ Use 'set auto-load safe-path /' for disa
2c2fa1
   auto_load_safe_path_vec_update ();
2c2fa1
 }
2c2fa1
 
2c2fa1
+/* "add-auto-load-scripts-directory" command for the auto_load_dir configuration
2c2fa1
+   variable.  */
2c2fa1
+
2c2fa1
+static void
2c2fa1
+add_auto_load_dir (char *args, int from_tty)
2c2fa1
+{
2c2fa1
+  char *s;
2c2fa1
+
2c2fa1
+  if (args == NULL || *args == 0)
2c2fa1
+    error (_("Directory argument required."));
2c2fa1
+
2c2fa1
+  s = xstrprintf ("%s%c%s", auto_load_dir, DIRNAME_SEPARATOR, args);
2c2fa1
+  xfree (auto_load_dir);
2c2fa1
+  auto_load_dir = s;
2c2fa1
+}
2c2fa1
+
2c2fa1
 /* Implementation for filename_is_in_pattern overwriting the caller's FILENAME
2c2fa1
    and PATTERN.  */
2c2fa1
 
2c2fa1
@@ -1295,6 +1311,15 @@ access the current full list setting."),
2c2fa1
 		 &cmdlist);
2c2fa1
   set_cmd_completer (cmd, filename_completer);
2c2fa1
 
2c2fa1
+  cmd = add_cmd ("add-auto-load-scripts-directory", class_support,
2c2fa1
+		 add_auto_load_dir,
2c2fa1
+		 _("Add entries to the list of directories from which to load "
2c2fa1
+		   "auto-loaded scripts.\n\
2c2fa1
+See the commands 'set auto-load scripts-directory' and\n\
2c2fa1
+'show auto-load scripts-directory' to access the current full list setting."),
2c2fa1
+		 &cmdlist);
2c2fa1
+  set_cmd_completer (cmd, filename_completer);
2c2fa1
+
2c2fa1
   add_setshow_boolean_cmd ("auto-load", class_maintenance,
2c2fa1
 			   &debug_auto_load, _("\
2c2fa1
 Set auto-load verifications debugging."), _("\
2c2fa1
Index: gdb-7.6.1/gdb/doc/gdb.texinfo
2c2fa1
===================================================================
2c2fa1
--- gdb-7.6.1.orig/gdb/doc/gdb.texinfo
2c2fa1
+++ gdb-7.6.1/gdb/doc/gdb.texinfo
2c2fa1
@@ -21929,6 +21929,8 @@ These are @value{GDBN} control commands
2c2fa1
 @tab Control for @value{GDBN} auto-loaded scripts location.
2c2fa1
 @item @xref{show auto-load scripts-directory}.
2c2fa1
 @tab Show @value{GDBN} auto-loaded scripts location.
2c2fa1
+@item @xref{add-auto-load-scripts-directory}.
2c2fa1
+@tab Add directory for auto-loaded scripts location list.
2c2fa1
 @item @xref{set auto-load local-gdbinit}.
2c2fa1
 @tab Control for init file in the current directory.
2c2fa1
 @item @xref{show auto-load local-gdbinit}.
2c2fa1
@@ -27213,6 +27215,12 @@ to the @env{PATH} environment variable.
2c2fa1
 @kindex show auto-load scripts-directory
2c2fa1
 @item show auto-load scripts-directory
2c2fa1
 Show @value{GDBN} auto-loaded scripts location.
2c2fa1
+
2c2fa1
+@anchor{add-auto-load-scripts-directory}
2c2fa1
+@kindex add-auto-load-scripts-directory
2c2fa1
+@item add-auto-load-scripts-directory @r{[}@var{directories}@r{]}
2c2fa1
+Add an entry (or list of entries) to the list of auto-loaded scripts locations.
2c2fa1
+Multiple entries may be delimited by the host platform path separator in use.
2c2fa1
 @end table
2c2fa1
 
2c2fa1
 @value{GDBN} does not track which files it has already auto-loaded this way.