diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2021-04-15 11:29:55 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2021-06-25 20:54:28 +0100 |
commit | fc4d5ebf8f8fa30ae3f5c26270df0163ad72000c (patch) | |
tree | 6b78299ed4202c52690e26f485ea226cad48b93f /gdb/symfile-debug.c | |
parent | d038ce48f1adebd6917a1cfb595efd6f93d613ff (diff) | |
download | gdb-fc4d5ebf8f8fa30ae3f5c26270df0163ad72000c.zip gdb-fc4d5ebf8f8fa30ae3f5c26270df0163ad72000c.tar.gz gdb-fc4d5ebf8f8fa30ae3f5c26270df0163ad72000c.tar.bz2 |
gdb: add new function quick_symbol_functions::has_unexpanded_symbols
Adds a new function to the quick_symbol_functions API to let us know
if there are any unexpanded symbols. This functionality is required
by a later commit. After this commit the functionality is unused, and
untested.
The new function objfile::has_unexpanded_symtabs is added to the
symfile-debug.c file which is a little strange, but this
is (currently) where many of the other objfile::* functions (that call
onto the quick_symbol_functions) are defined, so I'm reluctant to
break this pattern.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* dwarf2/read.c (struct dwarf2_base_index_functions)
<has_unexpanded_symtabs>: Declare.
(dwarf2_base_index_functions::has_unexpanded_symtabs): Define new
function.
* objfiles.h (struct objfile) <has_unexpanded_symtabs>: Declare.
* psympriv.h (struct psymbol_functions) <has_unexpanded_symtabs>:
Declare.
* psymtab.c (psymbol_functions::has_unexpanded_symtabs): Define
new function.
* quick-symbol.h (struct quick_symbol_functions)
<has_unexpanded_symtabs>: Declare.
* symfile-debug.c (objfile::has_unexpanded_symtabs): Define new
function.
Diffstat (limited to 'gdb/symfile-debug.c')
-rw-r--r-- | gdb/symfile-debug.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index b839194..a10af68 100644 --- a/gdb/symfile-debug.c +++ b/gdb/symfile-debug.c @@ -100,6 +100,31 @@ objfile::has_partial_symbols () return retval; } +/* See objfiles.h. */ +bool +objfile::has_unexpanded_symtabs () +{ + if (debug_symfile) + fprintf_filtered (gdb_stdlog, "qf->has_unexpanded_symtabs (%s)\n", + objfile_debug_name (this)); + + bool result = false; + for (const auto &iter : qf) + { + if (iter->has_unexpanded_symtabs (this)) + { + result = true; + break; + } + } + + if (debug_symfile) + fprintf_filtered (gdb_stdlog, "qf->has_unexpanded_symtabs (%s) = %d\n", + objfile_debug_name (this), (result ? 1 : 0)); + + return result; +} + struct symtab * objfile::find_last_source_symtab () { |