Discussion:
[Bug cli/19551] New: weird "reading symbols" output
tromey at sourceware dot org
2016-02-01 20:53:05 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

Bug ID: 19551
Summary: weird "reading symbols" output
Product: gdb
Version: unknown
Status: NEW
Severity: normal
Priority: P2
Component: cli
Assignee: unassigned at sourceware dot org
Reporter: tromey at sourceware dot org
Target Milestone: ---

I attach'd to a firefox process.
I have some system debuginfo installed, but not everything.

I saw this in the voluminous output from gdb:

Reading symbols from /lib64/libgconf-2.so.4...Reading symbols from
/lib64/libgconf-2.so.4...(no debugging symbols found)...done.
(no debugging symbols found)...done.


I think this is a bug for two reasons.
First, it mentions the same file twice.
Second, it is badly formatted.


I think that the second mention of the file name comes from the mini
debug info. In this case the "no debugging symbols found" text is also
somewhat erroneous.

One way to make this prettier would be something like:

Reading symbols from /lib64/libgconf-2.so.4... found mini debug info.
Reading symbols from /lib64/libgconf-2.so.4 mini debug info...done.

This could be extended to deal with separate debug info as well.
Ideally "no debugging symbols found" would only be printed when truly
nothing was found.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2017-05-30 01:35:08 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

--- Comment #1 from Tom Tromey <tromey at sourceware dot org> ---
One attempt:
https://sourceware.org/ml/gdb-patches/2017-04/msg00388.html
--
You are receiving this mail because:
You are on the CC list for the bug.
cvs-commit at gcc dot gnu.org
2018-05-16 17:16:29 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <***@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=921222e2e8e8427c6a609b1ff66265dceb0d07eb

commit 921222e2e8e8427c6a609b1ff66265dceb0d07eb
Author: Tom Tromey <***@tromey.com>
Date: Tue Jun 14 12:46:56 2016 +0100

Use a distinguishing name for minidebug objfile

One part of PR cli/19551 is that the mini debug info objfile reuses the
name of the main objfile from which it comes. This can be seen because
gdb claims to be reading symbols from the same file two times, like:

Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no
debugging symbols found)...done.

I think this would be less confusing if the minidebug objfile were given
a different name. That is what this patch implements. It also arranges
for the minidebug objfile to be marked OBJF_NOT_FILENAME.

After this patch the output looks like:

Reading symbols from /bin/gdb...Reading symbols from .gnu_debugdata for
/usr/libexec/gdb...(no debugging symbols found)...done.

Tested by the buildbot.

gdb/ChangeLog
2018-05-16 Tom Tromey <***@tromey.com>

PR cli/19551:
* symfile-add-flags.h (enum symfile_add_flags)
<SYMFILE_NOT_FILENAME>: New constant.
* symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME. Get
objfile name from BFD.
(symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
* minidebug.c (find_separate_debug_file_in_section): Put
".gnu_debugdata" into BFD's file name.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-05-16 17:54:56 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

--- Comment #3 from Tom Tromey <tromey at sourceware dot org> ---
This improves one part but the rest remains ugly.
--
You are receiving this mail because:
You are on the CC list for the bug.
cvs-commit at gcc dot gnu.org
2018-10-04 19:44:17 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <***@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3453e7e409f44a79ac6695589836edb8a49bfb08

commit 3453e7e409f44a79ac6695589836edb8a49bfb08
Author: Tom Tromey <***@tromey.com>
Date: Sat May 19 11:25:20 2018 -0600

Clean up "Reading symbols" output

This patch is another attempt to fix PR cli/19551. Unlike my previous
attempt, it doesn't print progress. Instead, it just changes some
messages and adds newlines to make the output a bit nicer.

It also removes the "done." text that was previously emitted. The
idea here is that it is obvious when gdb is done reading debug info,
as it starts then doing something else; and that while this message
did not provide much benefit to users, it did make it harder to make
the output clean.

After this change the output from "./gdb -iex 'set complaint 1' -nx ./gdb"
reads:

Reading symbols from ./gdb...
.debug_ranges entry has start address of zero [in module
/home/tromey/gdb/build/gdb/gdb]
DW_AT_low_pc 0x0 is zero for DIE at 0x17116c1 [in module
/home/tromey/gdb/build/gdb/gdb]
.debug_line address at offset 0xa22f5 is 0 [in module
/home/tromey/gdb/build/gdb/gdb]
During symbol reading, unsupported tag: 'DW_TAG_unspecified_type'.
During symbol reading, const value length mismatch for 'std::ratio<1,
1000000000>::num', got 8, expected 0.

gdb/ChangeLog
2018-10-04 Tom Tromey <***@tromey.com>

PR cli/19551:
* symfile.c (symbol_file_add_with_addrs): Update output.
* psymtab.c (require_partial_symbols): Update output.

gdb/testsuite/ChangeLog
2018-10-04 Tom Tromey <***@tromey.com>

PR cli/19551:
* lib/mi-support.exp (mi_gdb_file_cmd): Update.
* lib/gdb.exp (gdb_file_cmd): Update.
* gdb.stabs/weird.exp (print_weird_var): Update.
* gdb.server/solib-list.exp: Update.
* gdb.multi/remove-inferiors.exp (test_remove_inferiors): Update.
* gdb.mi/mi-cli.exp: Update.
* gdb.linespec/linespec.exp: Update.
* gdb.dwarf2/dw2-stack-boundary.exp: Update.
* gdb.dwarf2/dw2-objfile-overlap.exp: Update.
* gdb.cp/cp-relocate.exp: Update.
* gdb.base/sym-file.exp: Update.
* gdb.base/relocate.exp: Update.
* gdb.base/readnever.exp: Update.
* gdb.base/print-symbol-loading.exp (test_load_core): Update.
* gdb.base/kill-detach-inferiors-cmd.exp: Update.
* gdb.base/dbx.exp (gdb_file_cmd): Update.
* gdb.base/code_elim.exp: Update.
* gdb.base/break-unload-file.exp (test_break): Update.
* gdb.base/break-interp.exp (test_attach_gdb): Update.
* gdb.base/break-idempotent.exp (force_breakpoint_re_set):
Update.
* gdb.base/attach.exp (do_attach_tests): Update.
* gdb.base/sepdebug.exp: Update.
* gdb.python/py-section-script.exp: Update.
--
You are receiving this mail because:
You are on the CC list for the bug.
tromey at sourceware dot org
2018-10-04 19:48:04 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=19551

Tom Tromey <tromey at sourceware dot org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |8.3

--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
Fixed.
--
You are receiving this mail because:
You are on the CC list for the bug.
Loading...