diff options
author | Doug Evans <dje@google.com> | 2008-07-10 23:08:21 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2008-07-10 23:08:21 +0000 |
commit | bf250677afabbf59fee4ab3e1a96ffa7ddff2146 (patch) | |
tree | e6b0011aeaa1b0eca2e3bd6704cb55eaf1911526 /gdb | |
parent | ef9beddf72634055b25a631850464a701599585c (diff) | |
download | gdb-bf250677afabbf59fee4ab3e1a96ffa7ddff2146.zip gdb-bf250677afabbf59fee4ab3e1a96ffa7ddff2146.tar.gz gdb-bf250677afabbf59fee4ab3e1a96ffa7ddff2146.tar.bz2 |
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/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/NEWS | 4 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 16 | ||||
-rw-r--r-- | gdb/solib.c | 2 | ||||
-rw-r--r-- | gdb/symfile.c | 31 | ||||
-rw-r--r-- | gdb/symfile.h | 7 |
7 files changed, 69 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dbea489..67832fc 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. @@ -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 182b9dc..8786b4a 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 710b96b..2920179 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 a694b81..515402e 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 d98f62b..12f17ac 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 948cef7..02fb7df 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 |