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.
This commit is contained in:
Andrew Burgess 2021-04-15 11:29:55 +01:00
parent d038ce48f1
commit fc4d5ebf8f
7 changed files with 95 additions and 0 deletions

View file

@ -565,6 +565,12 @@ public:
bool has_partial_symbols ();
/* Return true if this objfile has any unexpanded symbols. A return
value of false indicates either, that this objfile has all its
symbols fully expanded (i.e. fully read in), or that this objfile has
no symbols at all (i.e. no debug information). */
bool has_unexpanded_symtabs ();
/* See quick_symbol_functions. */
struct symtab *find_last_source_symtab ();