aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-10-22 21:13:10 -0600
committerTom Tromey <tom@tromey.com>2020-01-26 16:40:21 -0700
commit077cbab270376098e90c841690f9e4439b63d3d4 (patch)
tree0cd6ed8c27c8a723472193a87aee65fd136cb049
parent891813beaab0029c88c9eeec9c1847d68a4d6050 (diff)
downloadfsf-binutils-gdb-077cbab270376098e90c841690f9e4439b63d3d4.zip
fsf-binutils-gdb-077cbab270376098e90c841690f9e4439b63d3d4.tar.gz
fsf-binutils-gdb-077cbab270376098e90c841690f9e4439b63d3d4.tar.bz2
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
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/dbxread.c20
-rw-r--r--gdb/dwarf2read.c44
-rw-r--r--gdb/mdebugread.c9
-rw-r--r--gdb/psymtab.c11
-rw-r--r--gdb/xcoffread.c20
6 files changed, 36 insertions, 78 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8fcb24e..ed3b97b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,15 @@
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)
(xcoff_psymtab_to_symtab_1, xcoff_read_symtab)
(xcoff_start_psymtab, xcoff_end_psymtab, scan_xcoff_symtab): Use
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 64387c6..9d8d938 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -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");
}
}
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 8bde265..9942270 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -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)
- {
- warning (_("bug: psymtab for %s is already read in."),
- filename);
- }
- else
+ 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)
{
- if (info_verbose)
- {
- printf_filtered (_("Reading in symbols for %s..."),
- filename);
- gdb_flush (gdb_stdout);
- }
+ struct dwarf2_per_objfile *dpo_backlink
+ = get_dwarf2_per_objfile (objfile->separate_debug_objfile_backlink);
- /* 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->has_section_at_zero
- = dpo_backlink->has_section_at_zero;
- }
-
- dwarf2_per_objfile->reading_partial_symbols = 0;
+ dwarf2_per_objfile->has_section_at_zero
+ = dpo_backlink->has_section_at_zero;
+ }
- psymtab_to_symtab_1 (this);
+ dwarf2_per_objfile->reading_partial_symbols = 0;
- /* Finish up the debug error message. */
- if (info_verbose)
- printf_filtered (_("done.\n"));
- }
+ psymtab_to_symtab_1 (this);
process_cu_includes (dwarf2_per_objfile);
}
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 621b314..4b32a5a 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -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. */
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 6a2f7f7..6abc829 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -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;
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 69731a4..66d6b9a 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -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");
}
}