@@ -44,10 +44,6 @@ enum objfile_flag : unsigned
add-symbol-file command. */
OBJF_USERLOADED = 1 << 2, /* User loaded */
- /* Set if we have tried to read partial symtabs for this objfile.
- This is used to allow lazy reading of partial symtabs. */
- OBJF_PSYMTABS_READ = 1 << 3,
-
/* Set if this is the main symbol file (as opposed to symbol file
for dynamically loaded code). */
OBJF_MAINLINE = 1 << 4,
@@ -612,9 +612,6 @@ struct objfile
domain_enum domain,
bool *symbol_found_p);
- /* See quick_symbol_functions. */
- void require_partial_symbols (bool verbose);
-
/* Return the relocation offset applied to SECTION. */
CORE_ADDR section_offset (bfd_section *section) const
{
@@ -699,17 +696,6 @@ struct objfile
section_iterator (sections_end, sections_end)));
}
-private:
-
- /* Ensure that partial symbols have been read and return the "quick" (aka
- partial) symbol functions for this symbol reader. */
- const std::forward_list<quick_symbol_functions_up> &
- qf_require_partial_symbols ()
- {
- this->require_partial_symbols (true);
- return qf;
- }
-
public:
/* The object file's original name as specified by the user,
@@ -81,7 +81,6 @@ psymtab_storage::install_psymtab (partial_symtab *pst)
psymtab_storage::partial_symtab_range
psymbol_functions::partial_symbols (struct objfile *objfile)
{
- gdb_assert ((objfile->flags & OBJF_PSYMTABS_READ) != 0);
return m_partial_symtabs->range ();
}
@@ -220,20 +220,6 @@ struct quick_symbol_functions
virtual void compute_main_name (struct objfile *objfile)
{
}
-
- /* Return true if this class can lazily read the symbols. This may
- only return true if there are in fact symbols to be read, because
- this is used in the implementation of 'has_partial_symbols'. */
- virtual bool can_lazily_read_symbols ()
- {
- return false;
- }
-
- /* Read the partial symbols for OBJFILE. This will only ever be
- called if can_lazily_read_symbols returns true. */
- virtual void read_partial_symbols (struct objfile *objfile)
- {
- }
};
typedef std::unique_ptr<quick_symbol_functions> quick_symbol_functions_up;
@@ -85,11 +85,7 @@ objfile::has_partial_symbols ()
not be present in this objfile. */
for (const auto &iter : qf)
{
- if ((flags & OBJF_PSYMTABS_READ) == 0
- && iter->can_lazily_read_symbols ())
- retval = true;
- else
- retval = iter->has_symbols (this);
+ retval = iter->has_symbols (this);
if (retval)
break;
}
@@ -110,7 +106,7 @@ objfile::has_unexpanded_symtabs ()
objfile_debug_name (this));
bool result = false;
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
if (iter->has_unexpanded_symtabs (this))
{
@@ -135,7 +131,7 @@ objfile::find_last_source_symtab ()
gdb_printf (gdb_stdlog, "qf->find_last_source_symtab (%s)\n",
objfile_debug_name (this));
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
retval = iter->find_last_source_symtab (this);
if (retval != nullptr)
@@ -168,7 +164,7 @@ objfile::forget_cached_source_info ()
}
}
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->forget_cached_source_info (this);
}
@@ -215,7 +211,7 @@ objfile::map_symtabs_matching_filename
return result;
};
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
if (!iter->expand_symtabs_matching (this,
match_one_filename,
@@ -280,7 +276,7 @@ objfile::lookup_symbol (block_enum kind, const char *name, domain_enum domain)
return true;
};
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
if (!iter->expand_symtabs_matching (this,
nullptr,
@@ -311,7 +307,7 @@ objfile::print_stats (bool print_bcache)
gdb_printf (gdb_stdlog, "qf->print_stats (%s, %d)\n",
objfile_debug_name (this), print_bcache);
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->print_stats (this, print_bcache);
}
@@ -337,7 +333,7 @@ objfile::expand_symtabs_for_function (const char *func_name)
lookup_name_info base_lookup (func_name, symbol_name_match_type::FULL);
lookup_name_info lookup_name = base_lookup.make_ignore_params ();
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->expand_symtabs_matching (this,
nullptr,
&lookup_name,
@@ -356,7 +352,7 @@ objfile::expand_all_symtabs ()
gdb_printf (gdb_stdlog, "qf->expand_all_symtabs (%s)\n",
objfile_debug_name (this));
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->expand_all_symtabs (this);
}
@@ -374,7 +370,7 @@ objfile::expand_symtabs_with_fullname (const char *fullname)
return filename_cmp (basenames ? basename : fullname, filename) == 0;
};
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->expand_symtabs_matching (this,
file_matcher,
nullptr,
@@ -399,7 +395,7 @@ objfile::expand_matching_symbols
domain_name (domain), global,
host_address_to_string (ordered_compare));
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->expand_matching_symbols (this, name, domain, global,
ordered_compare);
}
@@ -426,7 +422,7 @@ objfile::expand_symtabs_matching
host_address_to_string (&expansion_notify),
search_domain_name (kind));
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
if (!iter->expand_symtabs_matching (this, file_matcher, lookup_name,
symbol_matcher, expansion_notify,
search_flags, domain, kind))
@@ -451,7 +447,7 @@ objfile::find_pc_sect_compunit_symtab (struct bound_minimal_symbol msymbol,
host_address_to_string (section),
warn_if_readin);
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
retval = iter->find_pc_sect_compunit_symtab (this, msymbol, pc, section,
warn_if_readin);
@@ -479,7 +475,7 @@ objfile::map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
objfile_debug_name (this),
need_fullname);
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->map_symbol_filenames (this, fun, need_fullname);
}
@@ -491,7 +487,7 @@ objfile::compute_main_name ()
"qf->compute_main_name (%s)\n",
objfile_debug_name (this));
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
iter->compute_main_name (this);
}
@@ -505,7 +501,7 @@ objfile::find_compunit_symtab_by_address (CORE_ADDR address)
hex_string (address));
struct compunit_symtab *result = NULL;
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
result = iter->find_compunit_symtab_by_address (this, address);
if (result != nullptr)
@@ -530,7 +526,7 @@ objfile::lookup_global_symbol_language (const char *name,
enum language result = language_unknown;
*symbol_found_p = false;
- for (const auto &iter : qf_require_partial_symbols ())
+ for (const auto &iter : qf)
{
result = iter->lookup_global_symbol_language (this, name, domain,
symbol_found_p);
@@ -541,35 +537,6 @@ objfile::lookup_global_symbol_language (const char *name,
return result;
}
-void
-objfile::require_partial_symbols (bool verbose)
-{
- if ((flags & OBJF_PSYMTABS_READ) == 0)
- {
- flags |= OBJF_PSYMTABS_READ;
-
- bool printed = false;
- for (const auto &iter : qf)
- {
- if (iter->can_lazily_read_symbols ())
- {
- if (verbose && !printed)
- {
- gdb_printf (_("Reading symbols from %ps...\n"),
- styled_string (file_name_style.style (),
- objfile_name (this)));
- printed = true;
- }
- iter->read_partial_symbols (this);
- }
- }
- if (printed && !objfile_has_symbols (this))
- gdb_printf (_("(No debugging symbols found in %ps)\n"),
- styled_string (file_name_style.style (),
- objfile_name (this)));
- }
-}
-
/* Debugging version of struct sym_probe_fns. */
@@ -790,8 +790,6 @@ read_symbols (struct objfile *objfile, symfile_add_flags add_flags)
add_flags | SYMFILE_NOT_FILENAME, objfile);
}
}
- if ((add_flags & SYMFILE_NO_READ) == 0)
- objfile->require_partial_symbols (false);
}
/* Initialize entry point information for this objfile. */
@@ -2621,8 +2619,6 @@ reread_symbols (int from_tty)
(*objfile->sf->sym_init) (objfile);
clear_complaints ();
- objfile->flags &= ~OBJF_PSYMTABS_READ;
-
/* We are about to read new symbols and potentially also
DWARF information. Some targets may want to pass addresses
read from DWARF DIE's through an adjustment function before