aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-06-21 16:56:52 +0200
committerTom de Vries <tdevries@suse.de>2021-06-24 17:58:24 +0200
commit4a4cb3c4436c3470a8aa15e9b688c1b6f9859c74 (patch)
tree5bce3c457904cc724b03f92cb378ff2d69cf78d7
parent3dadba589a50365b5b76cdd32b9789af87876cdb (diff)
downloadgdb-4a4cb3c4436c3470a8aa15e9b688c1b6f9859c74.zip
gdb-4a4cb3c4436c3470a8aa15e9b688c1b6f9859c74.tar.gz
gdb-4a4cb3c4436c3470a8aa15e9b688c1b6f9859c74.tar.bz2
[gdb/symtab] Add per-cu expansion state
-rw-r--r--gdb/psympriv.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 597d120..feced06 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -332,10 +332,17 @@ struct partial_symtab
void note_interesting_symbol (partial_symbol *psym)
{
+ if (expansion_state == partial_symtab::full)
+ return;
+ expansion_state = partial_symtab::lazy;
auto it = sect_off.find (psym);
interesting_symbols.emplace (it->second);
}
+ enum expansion_state { unexpanded, lazy, full };
+ enum expansion_state expansion_state = unexpanded;
+ size_t expanded_interesting_symbols = 0;
+
int number_of_dependencies = 0;
/* Global symbol list. This list will be sorted after readin to