summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2008-07-10 23:08:21 +0000
committerDoug Evans <dje@google.com>2008-07-10 23:08:21 +0000
commit171efac31bd403eca5fc882b1c992c72ba212858 (patch)
tree127146ab25e0d928de9fe421cda0bef211e7d789 /gdb
parent85fdbde9dfc62928a36ece6c53a42b59e28b31e7 (diff)
downloadgdb-171efac31bd403eca5fc882b1c992c72ba212858.tar.gz
Add "set print symbol-loading on|off".
* NEWS: Document new option. * symfile.h (print_symbol_loading): Declare. * symfile.c (print_symbol_loading): New global. (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols from ..." if print_symbol_loading. (_initialize_symfile): Add set/show print symbol-loading. * solib.c (solib_read_symbols): Only print "Loaded symbols for ..." if print_symbol_loading. * doc/gdb.texinfo: Document "set print symbol-loading on|off".
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/NEWS4
-rw-r--r--gdb/doc/ChangeLog4
-rw-r--r--gdb/doc/gdb.texinfo16
-rw-r--r--gdb/solib.c2
-rw-r--r--gdb/symfile.c31
-rw-r--r--gdb/symfile.h7
7 files changed, 69 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index dbea4896c11..67832fcf8f3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,15 @@
+2008-07-10 Doug Evans <dje@google.com>
+
+ Add "set print symbol-loading on|off".
+ * NEWS: Document new option.
+ * symfile.h (print_symbol_loading): Declare.
+ * symfile.c (print_symbol_loading): New global.
+ (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols
+ from ..." if print_symbol_loading.
+ (_initialize_symfile): Add set/show print symbol-loading.
+ * solib.c (solib_read_symbols): Only print "Loaded symbols for ..."
+ if print_symbol_loading.
+
2008-07-10 Pedro Alves <pedro@codesourcery.com>
Non-stop linux native.
diff --git a/gdb/NEWS b/gdb/NEWS
index 73726894055..e7832594d4d 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -68,6 +68,10 @@ find [/size-char] [/max-count] start-address, end-address|+search-space-size,
val1 [, val2, ...]
Search memory for a sequence of bytes.
+set print symbol-loading
+show print symbol-loading
+ Control printing of symbol loading messages.
+
set debug timestamp
show debug timestamp
Display timestamps with GDB debugging output.
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 182b9dc4c2b..8786b4aeac7 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@
+2008-07-10 Doug Evans <dje@google.com>
+
+ * doc/gdb.texinfo: Document "set print symbol-loading on|off".
+
2008-07-10 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Starting): Document "set disable-randomization".
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 710b96b7c0e..2920179533c 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -11533,6 +11533,22 @@ is printed as follows:
@item show opaque-type-resolution
Show whether opaque types are resolved or not.
+@kindex set print symbol-loading
+@cindex print messages when symbols are loaded
+@item set print symbol-loading
+@itemx set print symbol-loading on
+@itemx set print symbol-loading off
+The @code{set print symbol-loading} command allows you to enable or
+disable printing of messages when @value{GDBN} loads symbols.
+By default, these messages will be printed, and normally this is what
+you want. Disabling these messages is useful when debugging applications
+with lots of shared libraries where the quantity of output can be more
+annoying than useful.
+
+@kindex show print symbol-loading
+@item show print symbol-loading
+Show whether messages will be printed when @value{GDBN} loads symbols.
+
@kindex maint print symbols
@cindex symbol dump
@kindex maint print psymbols
diff --git a/gdb/solib.c b/gdb/solib.c
index a694b813307..515402e6755 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -448,7 +448,7 @@ solib_read_symbols (struct so_list *so, int from_tty)
"Error while reading shared library symbols:\n",
RETURN_MASK_ALL))
{
- if (from_tty)
+ if (from_tty && print_symbol_loading)
printf_unfiltered (_("Loaded symbols for %s\n"), so->so_name);
so->symbols_loaded = 1;
return 1;
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d98f62b670c..12f17ac5bc2 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -171,6 +171,12 @@ Dynamic symbol table reloading multiple times in one run is %s.\n"),
value);
}
+/* If non-zero, gdb will notify the user when it is loading symbols
+ from a file. This is almost always what users will want to have happen;
+ but for programs with lots of dynamically linked libraries, the output
+ can be more noise than signal. */
+
+int print_symbol_loading = 1;
/* If non-zero, shared library symbols will be added automatically
when the inferior is created, new libraries are loaded, or when
@@ -1046,9 +1052,12 @@ symbol_file_add_with_addrs_or_offsets (bfd *abfd, int from_tty,
deprecated_pre_add_symbol_hook (name);
else
{
- printf_unfiltered (_("Reading symbols from %s..."), name);
- wrap_here ("");
- gdb_flush (gdb_stdout);
+ if (print_symbol_loading)
+ {
+ printf_unfiltered (_("Reading symbols from %s..."), name);
+ wrap_here ("");
+ gdb_flush (gdb_stdout);
+ }
}
}
syms_from_objfile (objfile, addrs, offsets, num_offsets,
@@ -1061,7 +1070,7 @@ symbol_file_add_with_addrs_or_offsets (bfd *abfd, int from_tty,
if ((flags & OBJF_READNOW) || readnow_symbol_files)
{
- if (from_tty || info_verbose)
+ if ((from_tty || info_verbose) && print_symbol_loading)
{
printf_unfiltered (_("expanding to full symbols..."));
wrap_here ("");
@@ -1103,7 +1112,8 @@ symbol_file_add_with_addrs_or_offsets (bfd *abfd, int from_tty,
xfree (debugfile);
}
- if (!have_partial_symbols () && !have_full_symbols ())
+ if (!have_partial_symbols () && !have_full_symbols ()
+ && print_symbol_loading)
{
wrap_here ("");
printf_filtered (_("(no debugging symbols found)"));
@@ -1120,7 +1130,8 @@ symbol_file_add_with_addrs_or_offsets (bfd *abfd, int from_tty,
deprecated_post_add_symbol_hook ();
else
{
- printf_unfiltered (_("done.\n"));
+ if (print_symbol_loading)
+ printf_unfiltered (_("done.\n"));
}
}
@@ -4219,4 +4230,12 @@ the global debug-file directory prepended."),
NULL,
show_debug_file_directory,
&setlist, &showlist);
+
+ add_setshow_boolean_cmd ("symbol-loading", no_class,
+ &print_symbol_loading, _("\
+Set printing of symbol loading messages."), _("\
+Show printing of symbol loading messages."), NULL,
+ NULL,
+ NULL,
+ &setprintlist, &showprintlist);
}
diff --git a/gdb/symfile.h b/gdb/symfile.h
index 948cef74383..02fb7df8d6a 100644
--- a/gdb/symfile.h
+++ b/gdb/symfile.h
@@ -267,6 +267,13 @@ extern char *obconcat (struct obstack *obstackp, const char *, const char *,
/* Variables */
+/* If non-zero, gdb will notify the user when it is loading symbols
+ from a file. This is almost always what users will want to have happen;
+ but for programs with lots of dynamically linked libraries, the output
+ can be more noise than signal. */
+
+extern int print_symbol_loading;
+
/* If non-zero, shared library symbols will be added automatically
when the inferior is created, new libraries are loaded, or when
attaching to the inferior. This is almost always what users will