diff options
author | Tom Tromey <tom@tromey.com> | 2019-10-22 21:13:10 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-01-26 16:40:21 -0700 |
commit | 077cbab270376098e90c841690f9e4439b63d3d4 (patch) | |
tree | 0cd6ed8c27c8a723472193a87aee65fd136cb049 /gdb | |
parent | 891813beaab0029c88c9eeec9c1847d68a4d6050 (diff) | |
download | binutils-077cbab270376098e90c841690f9e4439b63d3d4.zip binutils-077cbab270376098e90c841690f9e4439b63d3d4.tar.gz binutils-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
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/dbxread.c | 20 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 44 | ||||
-rw-r--r-- | gdb/mdebugread.c | 9 | ||||
-rw-r--r-- | gdb/psymtab.c | 11 | ||||
-rw-r--r-- | gdb/xcoffread.c | 20 |
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"); } } |