* NEWS: Document "info variables" change.
* dwarf2read.c (new_symbol): Add file-scope external unresolved symbols to global_symbols. * symtab.c (search_symbols): Skip LOC_UNRESOLVED symbols. doc/ * gdb.texinfo (Symbols): "info variables" prints definitions, not declarations.
This commit is contained in:
parent
22e722e199
commit
0fe7935b33
6 changed files with 29 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2009-12-28 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* NEWS: Document "info variables" change.
|
||||
* dwarf2read.c (new_symbol): Add file-scope external unresolved
|
||||
symbols to global_symbols.
|
||||
* symtab.c (search_symbols): Skip LOC_UNRESOLVED symbols.
|
||||
|
||||
2009-12-28 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* defs.h (print_address_symbolic, build_address_symbolic): Update
|
||||
|
|
4
gdb/NEWS
4
gdb/NEWS
|
@ -30,6 +30,10 @@ disassemble
|
|||
The disassemble command, when invoked with two arguments, now requires
|
||||
the arguments to be comma-separated.
|
||||
|
||||
info variables
|
||||
The info variables command now displays variable definitions. Files
|
||||
which only declare a variable are not shown.
|
||||
|
||||
* New commands (for set/show, see "New options" below)
|
||||
|
||||
record save [<FILENAME>]
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-12-28 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (Symbols): "info variables" prints definitions, not
|
||||
declarations.
|
||||
|
||||
2009-12-21 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (GDB/MI Miscellaneous Commands): Clarify that
|
||||
|
|
|
@ -12924,7 +12924,7 @@ that conflict with the regular expression language (e.g.@:
|
|||
|
||||
@kindex info variables
|
||||
@item info variables
|
||||
Print the names and data types of all variables that are declared
|
||||
Print the names and data types of all variables that are defined
|
||||
outside of functions (i.e.@: excluding local variables).
|
||||
|
||||
@item info variables @var{regexp}
|
||||
|
|
|
@ -8463,8 +8463,15 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
|||
if (attr2 && (DW_UNSND (attr2) != 0)
|
||||
&& dwarf2_attr (die, DW_AT_type, cu) != NULL)
|
||||
{
|
||||
struct pending **list_to_add;
|
||||
|
||||
/* A variable with DW_AT_external is never static, but it
|
||||
may be block-scoped. */
|
||||
list_to_add = (cu->list_in_scope == &file_symbols
|
||||
? &global_symbols : cu->list_in_scope);
|
||||
|
||||
SYMBOL_CLASS (sym) = LOC_UNRESOLVED;
|
||||
add_symbol_to_list (sym, cu->list_in_scope);
|
||||
add_symbol_to_list (sym, list_to_add);
|
||||
}
|
||||
else if (!die_is_declaration (die, cu))
|
||||
{
|
||||
|
|
|
@ -3296,7 +3296,9 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
|
|||
&& ((regexp == NULL
|
||||
|| re_exec (SYMBOL_NATURAL_NAME (*psym)) != 0)
|
||||
&& ((kind == VARIABLES_DOMAIN && SYMBOL_CLASS (*psym) != LOC_TYPEDEF
|
||||
&& SYMBOL_CLASS (*psym) != LOC_BLOCK)
|
||||
&& SYMBOL_CLASS (*psym) != LOC_UNRESOLVED
|
||||
&& SYMBOL_CLASS (*psym) != LOC_BLOCK
|
||||
&& SYMBOL_CLASS (*psym) != LOC_CONST)
|
||||
|| (kind == FUNCTIONS_DOMAIN && SYMBOL_CLASS (*psym) == LOC_BLOCK)
|
||||
|| (kind == TYPES_DOMAIN && SYMBOL_CLASS (*psym) == LOC_TYPEDEF))))
|
||||
{
|
||||
|
@ -3372,6 +3374,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
|
|||
&& ((regexp == NULL
|
||||
|| re_exec (SYMBOL_NATURAL_NAME (sym)) != 0)
|
||||
&& ((kind == VARIABLES_DOMAIN && SYMBOL_CLASS (sym) != LOC_TYPEDEF
|
||||
&& SYMBOL_CLASS (sym) != LOC_UNRESOLVED
|
||||
&& SYMBOL_CLASS (sym) != LOC_BLOCK
|
||||
&& SYMBOL_CLASS (sym) != LOC_CONST)
|
||||
|| (kind == FUNCTIONS_DOMAIN && SYMBOL_CLASS (sym) == LOC_BLOCK)
|
||||
|
|
Loading…
Add table
Reference in a new issue