gdb: remove symtab::pspace
authorSimon Marchi <simon.marchi@polymtl.ca>
Tue, 29 Mar 2022 21:07:52 +0000 (17:07 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 7 Apr 2022 17:05:29 +0000 (13:05 -0400)
Same idea as previous patch, but for symtab::pspace.

Change-Id: I1023abe622bea75ef648c6a97a01b53775d4104d

gdb/annotate.c
gdb/linespec.c
gdb/source.c
gdb/symtab.c
gdb/symtab.h

index 6ae314572221cdfe57042e9a21523c22c7cd74de..33805dcdb307b3a5d9a7d9917e5da1592da5a490 100644 (file)
@@ -453,7 +453,7 @@ annotate_source_line (struct symtab *s, int line, int mid_statement,
 
       /* Update the current symtab and line.  */
       symtab_and_line sal;
-      sal.pspace = s->pspace ();
+      sal.pspace = s->compunit ()->objfile ()->pspace;
       sal.symtab = s;
       sal.line = line;
       set_current_source_symtab_and_line (sal);
index 10717ac6c43fb36a5b613237c9b3273dbcc870b9..9d4707cbb4e7a46718239dc52c41048a4ad5c17b 100644 (file)
@@ -2188,7 +2188,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls)
       for (const auto &sym : ls->labels.label_symbols)
        {
          struct program_space *pspace
-           = symbol_symtab (sym.symbol)->pspace ();
+           = symbol_symtab (sym.symbol)->compunit ()->objfile ()->pspace;
 
          if (symbol_to_sal (&sal, state->funfirstline, sym.symbol)
              && maybe_add_address (state->addr_set, pspace, sal.pc))
@@ -2210,7 +2210,7 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls)
          for (const auto &sym : ls->function_symbols)
            {
              program_space *pspace
-               = symbol_symtab (sym.symbol)->pspace ();
+               = symbol_symtab (sym.symbol)->compunit ()->objfile ()->pspace;
              set_current_program_space (pspace);
 
              /* Don't skip to the first line of the function if we
@@ -3462,8 +3462,10 @@ lookup_prefix_sym (struct linespec_state *state,
        {
          /* Program spaces that are executing startup should have
             been filtered out earlier.  */
-         gdb_assert (!elt->pspace ()->executing_startup);
-         set_current_program_space (elt->pspace ());
+         program_space *pspace = elt->compunit ()->objfile ()->pspace;
+
+         gdb_assert (!pspace->executing_startup);
+         set_current_program_space (pspace);
          iterate_over_file_blocks (elt, lookup_name, STRUCT_DOMAIN, collector);
          iterate_over_file_blocks (elt, lookup_name, VAR_DOMAIN, collector);
        }
@@ -3481,8 +3483,8 @@ compare_symbols (const block_symbol &a, const block_symbol &b)
 {
   uintptr_t uia, uib;
 
-  uia = (uintptr_t) symbol_symtab (a.symbol)->pspace ();
-  uib = (uintptr_t) symbol_symtab (b.symbol)->pspace ();
+  uia = (uintptr_t) symbol_symtab (a.symbol)->compunit ()->objfile ()->pspace;
+  uib = (uintptr_t) symbol_symtab (b.symbol)->compunit ()->objfile ()->pspace;
 
   if (uia < uib)
     return true;
@@ -3606,7 +3608,7 @@ find_method (struct linespec_state *self,
 
       /* Program spaces that are executing startup should have
         been filtered out earlier.  */
-      pspace = symbol_symtab (sym)->pspace ();
+      pspace = symbol_symtab (sym)->compunit ()->objfile ()->pspace;
       gdb_assert (!pspace->executing_startup);
       set_current_program_space (pspace);
       t = check_typedef (sym->type ());
@@ -3617,7 +3619,8 @@ find_method (struct linespec_state *self,
         sure not to miss the last batch.  */
       if (ix == sym_classes->size () - 1
          || (pspace
-             != symbol_symtab (sym_classes->at (ix + 1).symbol)->pspace ()))
+             != (symbol_symtab (sym_classes->at (ix + 1).symbol)
+                 ->compunit ()->objfile ()->pspace)))
        {
          /* If we did not find a direct implementation anywhere in
             this program space, consider superclasses.  */
@@ -3981,7 +3984,8 @@ find_label_symbols (struct linespec_state *self,
       for (const auto &elt : function_symbols)
        {
          fn_sym = elt.symbol;
-         set_current_program_space (symbol_symtab (fn_sym)->pspace ());
+         set_current_program_space
+           (symbol_symtab (fn_sym)->compunit ()->objfile ()->pspace);
          block = SYMBOL_BLOCK_VALUE (fn_sym);
 
          find_label_symbols_in_block (block, name, fn_sym, completion_mode,
@@ -4010,13 +4014,14 @@ decode_digits_list_mode (struct linespec_state *self,
       /* The logic above should ensure this.  */
       gdb_assert (elt != NULL);
 
-      set_current_program_space (elt->pspace ());
+      program_space *pspace = elt->compunit ()->objfile ()->pspace;
+      set_current_program_space (pspace);
 
       /* Simplistic search just for the list command.  */
       val.symtab = find_line_symtab (elt, val.line, NULL, NULL);
       if (val.symtab == NULL)
        val.symtab = elt;
-      val.pspace = elt->pspace ();
+      val.pspace = pspace;
       val.pc = 0;
       val.explicit_line = true;
 
@@ -4044,13 +4049,14 @@ decode_digits_ordinary (struct linespec_state *self,
       /* The logic above should ensure this.  */
       gdb_assert (elt != NULL);
 
-      set_current_program_space (elt->pspace ());
+      program_space *pspace = elt->compunit ()->objfile ()->pspace;
+      set_current_program_space (pspace);
 
       pcs = find_pcs_for_symtab_line (elt, line, best_entry);
       for (CORE_ADDR pc : pcs)
        {
          symtab_and_line sal;
-         sal.pspace = elt->pspace ();
+         sal.pspace = pspace;
          sal.symtab = elt;
          sal.line = line;
          sal.explicit_line = true;
@@ -4241,9 +4247,11 @@ search_minsyms_for_name (struct collect_info *info,
     }
   else
     {
-      if (search_pspace == NULL || symtab->pspace () == search_pspace)
+      program_space *pspace = symtab->compunit ()->objfile ()->pspace;
+
+      if (search_pspace == NULL || pspace == search_pspace)
        {
-         set_current_program_space (symtab->pspace ());
+         set_current_program_space (pspace);
          iterate_over_minimal_symbols
            (symtab->compunit ()->objfile (), name,
             [&] (struct minimal_symbol *msym)
@@ -4329,14 +4337,15 @@ add_matching_symbols_to_info (const char *name,
            { return info->add_symbol (bsym); });
          search_minsyms_for_name (info, lookup_name, pspace, NULL);
        }
-      else if (pspace == NULL || pspace == elt->pspace ())
+      else if (pspace == NULL || pspace == elt->compunit ()->objfile ()->pspace)
        {
          int prev_len = info->result.symbols->size ();
 
          /* Program spaces that are executing startup should have
             been filtered out earlier.  */
-         gdb_assert (!elt->pspace ()->executing_startup);
-         set_current_program_space (elt->pspace ());
+         program_space *elt_pspace = elt->compunit ()->objfile ()->pspace;
+         gdb_assert (!elt_pspace->executing_startup);
+         set_current_program_space (elt_pspace);
          iterate_over_file_blocks (elt, lookup_name, VAR_DOMAIN,
                                    [&] (block_symbol *bsym)
            { return info->add_symbol (bsym); });
@@ -4375,7 +4384,7 @@ symbol_to_sal (struct symtab_and_line *result,
          result->symbol = sym;
          result->line = sym->line ();
          result->pc = SYMBOL_VALUE_ADDRESS (sym);
-         result->pspace = result->symtab->pspace ();
+         result->pspace = result->symtab->compunit ()->objfile ()->pspace;
          result->explicit_pc = 1;
          return 1;
        }
@@ -4391,7 +4400,7 @@ symbol_to_sal (struct symtab_and_line *result,
          result->symbol = sym;
          result->line = sym->line ();
          result->pc = SYMBOL_VALUE_ADDRESS (sym);
-         result->pspace = result->symtab->pspace ();
+         result->pspace = result->symtab->compunit ()->objfile ()->pspace;
          return 1;
        }
     }
index 24f53f68e35bc34a0ab0e74239f8b50fe6c1d534..e9016573333c4ec8a922c9ad47341ddbff890534 100644 (file)
@@ -311,7 +311,7 @@ select_source_symtab (struct symtab *s)
   if (s)
     {
       current_source_location *loc
-       = get_source_location (s->pspace ());
+       = get_source_location (s->compunit ()->objfile ()->pspace);
       loc->set (s, 1);
       return;
     }
index eeb16e4643b8a054a083bb398ca4c5d951b31e5b..3cc2d4f8648cf1ce4479af5f3fdc1112f9e8aea2 100644 (file)
@@ -335,14 +335,6 @@ search_domain_name (enum search_domain e)
 
 /* See symtab.h.  */
 
-program_space *
-symtab::pspace () const
-{
-  return this->compunit ()->objfile ()->pspace;
-}
-
-/* See symtab.h.  */
-
 call_site *
 compunit_symtab::find_call_site (CORE_ADDR pc) const
 {
index 87d483505297f13c3e2e1ec5be274c5ad1088602..a89b0a2e42d76f9ac3383e543dd2923dbe94c808 100644 (file)
@@ -1476,8 +1476,6 @@ struct symtab
     m_language = language;
   }
 
-  program_space *pspace () const;
-
   /* Unordered chain of all filetabs in the compunit,  with the exception
      that the "main" source file is the first entry in the list.  */