Consolidate psymtab "Reading" messages
Each symbol reader implemented its own "Reading..." messages, and most of them double-checked that a previously-expanded psymtab could not be re-read. This patch consolidates the message-printing, and changes these checks into asserts. gdb/ChangeLog 2020-01-26 Tom Tromey <tom@tromey.com> * xcoffread.c (xcoff_read_symtab): Remove prints. Add assert. * psymtab.c (psymtab_to_symtab): Print verbose "Reading" messages. * mdebugread.c (mdebug_read_symtab): Remove prints. * dwarf2read.c (dwarf2_psymtab::read_symtab): Remove prints. Add assert. * dbxread.c (dbx_read_symtab): Remove prints. Add assert. Change-Id: I795be9710d42708299bb7b44972cffd27aec9413
This commit is contained in:
parent
891813beaa
commit
077cbab270
@ -1,3 +1,13 @@
|
||||
2020-01-26 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* xcoffread.c (xcoff_read_symtab): Remove prints. Add assert.
|
||||
* psymtab.c (psymtab_to_symtab): Print verbose "Reading"
|
||||
messages.
|
||||
* mdebugread.c (mdebug_read_symtab): Remove prints.
|
||||
* dwarf2read.c (dwarf2_psymtab::read_symtab): Remove prints. Add
|
||||
assert.
|
||||
* dbxread.c (dbx_read_symtab): Remove prints. Add assert.
|
||||
|
||||
2020-01-26 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* xcoffread.c (this_symtab_psymtab, read_xcoff_symtab)
|
||||
|
@ -2117,24 +2117,10 @@ dbx_psymtab_to_symtab_1 (struct objfile *objfile, legacy_psymtab *pst)
|
||||
static void
|
||||
dbx_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
{
|
||||
if (self->readin)
|
||||
{
|
||||
fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. "
|
||||
"Shouldn't happen.\n",
|
||||
self->filename);
|
||||
return;
|
||||
}
|
||||
gdb_assert (!self->readin);
|
||||
|
||||
if (LDSYMLEN (self) || self->number_of_dependencies)
|
||||
{
|
||||
/* Print the message now, before reading the string table,
|
||||
to avoid disconcerting pauses. */
|
||||
if (info_verbose)
|
||||
{
|
||||
printf_filtered ("Reading in symbols for %s...", self->filename);
|
||||
gdb_flush (gdb_stdout);
|
||||
}
|
||||
|
||||
next_symbol_text_func = dbx_next_symbol_text;
|
||||
|
||||
{
|
||||
@ -2155,10 +2141,6 @@ dbx_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
/* Match with global symbols. This only needs to be done once,
|
||||
after all of the symtabs and dependencies have been read in. */
|
||||
scan_file_globals (objfile);
|
||||
|
||||
/* Finish up the debug error message. */
|
||||
if (info_verbose)
|
||||
printf_filtered ("done.\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9494,41 +9494,23 @@ dwarf2_psymtab::read_symtab (struct objfile *objfile)
|
||||
struct dwarf2_per_objfile *dwarf2_per_objfile
|
||||
= get_dwarf2_per_objfile (objfile);
|
||||
|
||||
if (readin)
|
||||
gdb_assert (!readin);
|
||||
/* If this psymtab is constructed from a debug-only objfile, the
|
||||
has_section_at_zero flag will not necessarily be correct. We
|
||||
can get the correct value for this flag by looking at the data
|
||||
associated with the (presumably stripped) associated objfile. */
|
||||
if (objfile->separate_debug_objfile_backlink)
|
||||
{
|
||||
warning (_("bug: psymtab for %s is already read in."),
|
||||
filename);
|
||||
struct dwarf2_per_objfile *dpo_backlink
|
||||
= get_dwarf2_per_objfile (objfile->separate_debug_objfile_backlink);
|
||||
|
||||
dwarf2_per_objfile->has_section_at_zero
|
||||
= dpo_backlink->has_section_at_zero;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (info_verbose)
|
||||
{
|
||||
printf_filtered (_("Reading in symbols for %s..."),
|
||||
filename);
|
||||
gdb_flush (gdb_stdout);
|
||||
}
|
||||
|
||||
/* If this psymtab is constructed from a debug-only objfile, the
|
||||
has_section_at_zero flag will not necessarily be correct. We
|
||||
can get the correct value for this flag by looking at the data
|
||||
associated with the (presumably stripped) associated objfile. */
|
||||
if (objfile->separate_debug_objfile_backlink)
|
||||
{
|
||||
struct dwarf2_per_objfile *dpo_backlink
|
||||
= get_dwarf2_per_objfile (objfile->separate_debug_objfile_backlink);
|
||||
dwarf2_per_objfile->reading_partial_symbols = 0;
|
||||
|
||||
dwarf2_per_objfile->has_section_at_zero
|
||||
= dpo_backlink->has_section_at_zero;
|
||||
}
|
||||
|
||||
dwarf2_per_objfile->reading_partial_symbols = 0;
|
||||
|
||||
psymtab_to_symtab_1 (this);
|
||||
|
||||
/* Finish up the debug error message. */
|
||||
if (info_verbose)
|
||||
printf_filtered (_("done.\n"));
|
||||
}
|
||||
psymtab_to_symtab_1 (this);
|
||||
|
||||
process_cu_includes (dwarf2_per_objfile);
|
||||
}
|
||||
|
@ -277,12 +277,6 @@ static const char *mdebug_next_symbol_text (struct objfile *);
|
||||
static void
|
||||
mdebug_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
{
|
||||
if (info_verbose)
|
||||
{
|
||||
printf_filtered (_("Reading in symbols for %s..."), self->filename);
|
||||
gdb_flush (gdb_stdout);
|
||||
}
|
||||
|
||||
next_symbol_text_func = mdebug_next_symbol_text;
|
||||
|
||||
psymtab_to_symtab_1 (objfile, self, self->filename);
|
||||
@ -290,9 +284,6 @@ mdebug_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
/* Match with global symbols. This only needs to be done once,
|
||||
after all of the symtabs and dependencies have been read in. */
|
||||
scan_file_globals (objfile);
|
||||
|
||||
if (info_verbose)
|
||||
printf_filtered (_("done.\n"));
|
||||
}
|
||||
|
||||
/* File-level interface functions. */
|
||||
|
@ -758,7 +758,18 @@ psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst)
|
||||
{
|
||||
scoped_restore decrementer = increment_reading_symtab ();
|
||||
|
||||
if (info_verbose)
|
||||
{
|
||||
printf_filtered (_("Reading in symbols for %s..."),
|
||||
pst->filename);
|
||||
gdb_flush (gdb_stdout);
|
||||
}
|
||||
|
||||
pst->read_symtab (objfile);
|
||||
|
||||
/* Finish up the debug error message. */
|
||||
if (info_verbose)
|
||||
printf_filtered (_("done.\n"));
|
||||
}
|
||||
|
||||
return pst->compunit_symtab;
|
||||
|
@ -1869,25 +1869,11 @@ xcoff_psymtab_to_symtab_1 (struct objfile *objfile, legacy_psymtab *pst)
|
||||
static void
|
||||
xcoff_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
{
|
||||
if (self->readin)
|
||||
{
|
||||
fprintf_unfiltered
|
||||
(gdb_stderr, "Psymtab for %s already read in. Shouldn't happen.\n",
|
||||
self->filename);
|
||||
return;
|
||||
}
|
||||
gdb_assert (!self->readin);
|
||||
|
||||
if (((struct symloc *) self->read_symtab_private)->numsyms != 0
|
||||
|| self->number_of_dependencies)
|
||||
{
|
||||
/* Print the message now, before reading the string table,
|
||||
to avoid disconcerting pauses. */
|
||||
if (info_verbose)
|
||||
{
|
||||
printf_filtered ("Reading in symbols for %s...", self->filename);
|
||||
gdb_flush (gdb_stdout);
|
||||
}
|
||||
|
||||
next_symbol_text_func = xcoff_next_symbol_text;
|
||||
|
||||
xcoff_psymtab_to_symtab_1 (objfile, self);
|
||||
@ -1895,10 +1881,6 @@ xcoff_read_symtab (legacy_psymtab *self, struct objfile *objfile)
|
||||
/* Match with global symbols. This only needs to be done once,
|
||||
after all of the symtabs and dependencies have been read in. */
|
||||
scan_file_globals (objfile);
|
||||
|
||||
/* Finish up the debug error message. */
|
||||
if (info_verbose)
|
||||
printf_filtered ("done.\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user