diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-07-22 16:53:06 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-08-27 16:21:42 +0100 |
commit | 4acfdd20c9ef3c0368868b4221554f0abef04196 (patch) | |
tree | 09e8ed00b4bc0dfdbe8bb12f22a8822d20caeed4 /gdb/doc | |
parent | c4a23bf878f2e9a64034006c91596401faf6db3e (diff) | |
download | gdb-4acfdd20c9ef3c0368868b4221554f0abef04196.zip gdb-4acfdd20c9ef3c0368868b4221554f0abef04196.tar.gz gdb-4acfdd20c9ef3c0368868b4221554f0abef04196.tar.bz2 |
gdb: Add new -n flag to some info commands
The 'info variables', its alias 'whereis', and 'info functions' all
include non-debug symbols in the output by default. The list of
non-debug symbols can sometimes be quite long, resulting in the
debug symbol based results being scrolled off the screen.
This commit adds a '-n' flag to all of the commands listed above that
excludes the non-debug symbols from the results, leaving just the
debug symbol based results.
gdb/ChangeLog:
* cli/cli-utils.c (info_print_options_defs): Delete.
(make_info_print_options_def_group): Delete.
(extract_info_print_options): Delete.
(info_print_command_completer): Delete.
(info_print_args_help): Add extra parameter, and optionally
include text about -n flag.
* cli/cli-utils.h (struct info_print_options): Delete.
(extract_info_print_options): Delete declaration.
(info_print_command_completer): Delete declaration.
(info_print_args_help): Add extra parameter, extend header
comment.
* python/python.c (gdbpy_rbreak): Pass additional parameter to
search_symbols.
* stack.c (struct info_print_options): New type.
(info_print_options_defs): New file scoped variable.
(make_info_print_options_def_group): New static function.
(info_print_command_completer): New static function.
(info_locals_command): Update to use new local functions.
(info_args_command): Likewise.
(_initialize_stack): Add extra parameter to calls to
info_print_args_help.
* symtab.c (search_symbols): Add extra parameter, use this to
possibly excluse non-debug symbols.
(symtab_symbol_info): Add extra parameter, which is passed on to
search_symbols.
(struct info_print_options): New type.
(info_print_options_defs): New file scoped variable.
(make_info_print_options_def_group): New static function.
(info_print_command_completer): New static function.
(info_variables_command): Update to use local functions, and pass
extra parameter through to symtab_symbol_info.
(info_functions_command): Likewise.
(info_types_command): Pass additional argument through to
symtab_symbol_info.
(rbreak_command): Pass extra argument to search_symbols.
(_initialize_symtab): Add extra arguments for calls to
info_print_args_help, and update help text for 'info variables',
'whereis', and 'info functions' commands.
* symtab.h (search_symbols): Add extra argument to declaration.
* NEWS: Mention new flags.
gdb/doc/ChangeLog:
* gdb.texinfo (Symbols): Add information about the -n flag to
"info variables" and "info functions".
gdb/testsuite/ChangeLog:
* gdb.base/info-fun.exp: Extend to test the -n flag for 'info
functions'. Reindent as needed.
* gdb.base/info-var-f1.c: New file.
* gdb.base/info-var-f2.c: New file.
* gdb.base/info-var.exp: New file.
* gdb.base/info-var.h: New file.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 15 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 7fa73fb..a532825 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2019-08-27 Andrew Burgess <andrew.burgess@embecosm.com> + + * gdb.texinfo (Symbols): Add information about the -n flag to + "info variables" and "info functions". + 2019-08-25 Yoshinori Sato <ysato@users.sourceforge.jp> * gdb.texinfo (Standard Target Features): Add RX Features sub-section. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index e1bc814..53b7de9 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -18594,7 +18594,7 @@ The matching is case-sensitive, except on operating systems that have case-insensitive filesystem (e.g., MS-Windows). @kindex info functions -@item info functions [-q] +@item info functions [-q] [-n] Print the names and data types of all defined functions. Similarly to @samp{info types}, this command groups its output by source files and annotates each function definition with its source line @@ -18607,11 +18607,16 @@ to print the function name and type according to the language of the function, other values mean to use the manually specified language (see @ref{Manually, ,Set Language Manually}). +The @samp{-n} flag excludes @dfn{non-debugging symbols} from the +results. A non-debugging symbol is a symbol that comes from the +executable's symbol table, not from the debug information (for +example, DWARF) associated with the executable. + The optional flag @samp{-q}, which stands for @samp{quiet}, disables printing header information and messages explaining why no functions have been printed. -@item info functions [-q] [-t @var{type_regexp}] [@var{regexp}] +@item info functions [-q] [-n] [-t @var{type_regexp}] [@var{regexp}] Like @samp{info functions}, but only print the names and data types of the functions selected with the provided regexp(s). @@ -18641,7 +18646,7 @@ is printed only if its name matches @var{regexp} and its type matches @kindex info variables -@item info variables [-q] +@item info variables [-q] [-n] Print the names and data types of all variables that are defined outside of functions (i.e.@: excluding local variables). The printed variables are grouped by source files and annotated with @@ -18654,11 +18659,13 @@ to print the variable name and type according to the language of the variable, other values mean to use the manually specified language (see @ref{Manually, ,Set Language Manually}). +The @samp{-n} flag excludes non-debugging symbols from the results. + The optional flag @samp{-q}, which stands for @samp{quiet}, disables printing header information and messages explaining why no variables have been printed. -@item info variables [-q] [-t @var{type_regexp}] [@var{regexp}] +@item info variables [-q] [-n] [-t @var{type_regexp}] [@var{regexp}] Like @kbd{info variables}, but only print the variables selected with the provided regexp(s). |