#include "source.h"
#include "readline/tilde.h"
-#include "psymtab.h"
-#include "psympriv.h"
-
/* Prototypes for local functions */
static int block_depth (const struct block *);
int depth, ui_file *outfile);
\f
-void
-print_symbol_bcache_statistics (void)
-{
- for (struct program_space *pspace : program_spaces)
- for (objfile *objfile : pspace->objfiles ())
- {
- QUIT;
- printf_filtered (_("Byte cache statistics for '%s':\n"),
- objfile_name (objfile));
- objfile->partial_symtabs->psymbol_cache.print_statistics
- ("partial symbol cache");
- objfile->per_bfd->string_cache.print_statistics ("string cache");
- }
-}
-
-/* Count the number of partial symbols in OBJFILE. */
-
-static int
-count_psyms (struct objfile *objfile)
-{
- int count = 0;
- for (partial_symtab *pst : objfile->psymtabs ())
- {
- count += pst->global_psymbols.size ();
- count += pst->static_psymbols.size ();
- }
- return count;
-}
-
void
print_objfile_statistics (void)
{
if (objfile->per_bfd->n_minsyms > 0)
printf_filtered (_(" Number of \"minimal\" symbols read: %d\n"),
objfile->per_bfd->n_minsyms);
-
- int n_psyms = count_psyms (objfile);
- if (n_psyms > 0)
- printf_filtered (_(" Number of \"partial\" symbols read: %d\n"),
- n_psyms);
if (OBJSTAT (objfile, n_syms) > 0)
printf_filtered (_(" Number of \"full\" symbols read: %d\n"),
OBJSTAT (objfile, n_syms));
if (OBJSTAT (objfile, n_types) > 0)
printf_filtered (_(" Number of \"types\" defined: %d\n"),
OBJSTAT (objfile, n_types));
- if (objfile->sf)
- objfile->sf->qf->print_stats (objfile);
+
i = linetables = 0;
for (compunit_symtab *cu : objfile->compunits ())
{
printf_filtered (_(" Number of symbol tables with blockvectors: %d\n"),
blockvectors);
+ objfile->print_stats (false);
+
if (OBJSTAT (objfile, sz_strtab) > 0)
printf_filtered (_(" Space used by string tables: %d\n"),
OBJSTAT (objfile, sz_strtab));
printf_filtered (_(" Total memory used for BFD obstack: %s\n"),
pulongest (obstack_memory_used (&objfile->per_bfd
->storage_obstack)));
- printf_filtered
- (_(" Total memory used for psymbol cache: %d\n"),
- objfile->partial_symtabs->psymbol_cache.memory_used ());
+
printf_filtered (_(" Total memory used for string cache: %d\n"),
objfile->per_bfd->string_cache.memory_used ());
+ printf_filtered (_("Byte cache statistics for '%s':\n"),
+ objfile_name (objfile));
+ objfile->per_bfd->string_cache.print_statistics ("string cache");
+ objfile->print_stats (true);
}
}
printf_filtered (", %d minsyms\n\n",
objfile->per_bfd->minimal_symbol_count);
- if (objfile->sf)
- objfile->sf->qf->dump (objfile);
+ objfile->dump ();
if (objfile->compunit_symtabs != NULL)
{
printf_filtered ("%s at ",
symtab_to_filename_for_display (symtab));
gdb_print_host_address (symtab, gdb_stdout);
- printf_filtered (", ");
if (SYMTAB_OBJFILE (symtab) != objfile)
- {
- printf_filtered ("NOT ON CHAIN! ");
- }
- wrap_here (" ");
+ printf_filtered (", NOT ON CHAIN!");
+ printf_filtered ("\n");
}
}
printf_filtered ("\n\n");
/* Use the relocated address as shown in the symbol here -- do
not try to respect copy relocations. */
CORE_ADDR addr = (msymbol->value.address
- + objfile->section_offsets[msymbol->section]);
+ + objfile->section_offsets[msymbol->section_index ()]);
fputs_filtered (paddress (gdbarch, addr), outfile);
fprintf_filtered (outfile, " %s", msymbol->linkage_name ());
if (section)
for (struct program_space *pspace : program_spaces)
for (objfile *objfile : pspace->objfiles ())
- {
- if (objfile->sf)
- {
- objfile->sf->qf->expand_symtabs_matching
- (objfile,
- [&] (const char *filename, bool basenames)
- {
- /* KISS: Only apply the regexp to the complete file name. */
- return (!basenames
- && (regexp == NULL || re_exec (filename)));
- },
- NULL,
- NULL,
- NULL,
- ALL_DOMAIN);
- }
- }
+ objfile->expand_symtabs_matching
+ ([&] (const char *filename, bool basenames)
+ {
+ /* KISS: Only apply the regexp to the complete file name. */
+ return (!basenames
+ && (regexp == NULL || re_exec (filename)));
+ },
+ NULL,
+ NULL,
+ NULL,
+ SEARCH_GLOBAL_BLOCK | SEARCH_STATIC_BLOCK,
+ UNDEF_DOMAIN,
+ ALL_DOMAIN);
}
\f