aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2014-11-30 20:25:48 +0100
committerJan Kratochvil <jan.kratochvil@redhat.com>2014-11-30 20:25:48 +0100
commitf10c5b19e0d3f34cf36272bd9f038c19e6873275 (patch)
tree141bc24c401797017946460ebb50f7d3165ea75f
parent413b59aecb4ab6b8a552d3b93a9dd7e981ab3c10 (diff)
downloadgdb-f10c5b19e0d3f34cf36272bd9f038c19e6873275.zip
gdb-f10c5b19e0d3f34cf36272bd9f038c19e6873275.tar.gz
gdb-f10c5b19e0d3f34cf36272bd9f038c19e6873275.tar.bz2
Add add-auto-load-scripts-directory.
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. gdb/ChangeLog 2014-11-30 Jan Kratochvil <jan.kratochvil@redhat.com> 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/ChangeLog 2014-11-30 Jan Kratochvil <jan.kratochvil@redhat.com> 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.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/NEWS4
-rw-r--r--gdb/auto-load.c25
-rw-r--r--gdb/doc/ChangeLog6
-rw-r--r--gdb/doc/gdb.texinfo8
5 files changed, 50 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f706f29..e2dbe0a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2014-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ 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.
+
2014-11-30 Martin Galvan <martin.galvan@tallertechnologies.com> (tiny patch, obvious)
Pushed by Joel Brobecker <brobecker@adacore.com>.
diff --git a/gdb/NEWS b/gdb/NEWS
index d6a8b61..d38266f 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/ChangeLog b/gdb/doc/ChangeLog
index fcc18eb..3b27128 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,5 +1,11 @@
2014-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
+ 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.
+
+2014-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
+
* gdb.texinfo (Auto-loading safe path): Fix add-auto-load-safe-path
description typo.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index c475686..670c369 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}@dots{}@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.