]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/symtab] Add per-cu expansion state
authorTom de Vries <tdevries@suse.de>
Mon, 21 Jun 2021 14:56:52 +0000 (16:56 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 24 Jun 2021 15:58:24 +0000 (17:58 +0200)
gdb/psympriv.h

index 597d12084ebfa14b96ea9fed1efccbcd79c4aa89..feced066cb6842119903c4d5acd61d8f4805f4d3 100644 (file)
@@ -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