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".
This commit is contained in:
Doug Evans 2008-07-10 23:08:21 +00:00
parent ef9beddf72
commit bf250677af
7 changed files with 69 additions and 7 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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".

View File

@ -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

View File

@ -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;

View File

@ -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);
}

View File

@ -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