From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: gdb-patches@sourceware.org
Subject: [patch] Fix false warning: Shared library is missing debugging information.
Date: Mon, 11 Jan 2010 15:13:00 -0000 [thread overview]
Message-ID: <20100111151258.GA9354@host0.dyn.jankratochvil.net> (raw)
Hi,
since
http://sourceware.org/ml/gdb-cvs/2009-08/msg00134.html
commit 28bc5797a9be8409c7f78881f93fff58c4e9d6ed
Author: Doug Evans <dje@google.com>
GDB prints:
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x000000362de00af0 0x000000362de18344 Yes (*) /lib64/ld-linux-x86-64.so.2
0x000000362ea05390 0x000000362ea107c8 Yes (*) /lib64/libpthread.so.0
0x000000362e21e860 0x000000362e32597c Yes (*) /lib64/libc.so.6
(*): Shared library is missing debugging information.
(gdb) _
despite the system has full separate debug info files installed.
This "Shared library is missing debugging information." message was a response
on a wish by Pedro Alves:
http://sourceware.org/ml/gdb-patches/2009-07/msg00086.html
We do have a "Syms Read" column in info shared's output, maybe we
should extend that from "Yes, No" -> "Yes,
Sorry-I've-tried-but-didn't-find-any, No".
So the case when debug info has been found - although in a separate debug info
file - should be IMO the case "Yes" and not the case
"Sorry-I've-tried-but-didn't-find-any".
With the patch GDB now prints in the same case:
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x000000362de00af0 0x000000362de18344 Yes /lib64/ld-linux-x86-64.so.2
0x000000362ea05390 0x000000362ea107c8 Yes /lib64/libpthread.so.0
0x000000362e21e860 0x000000362e32597c Yes /lib64/libc.so.6
(gdb) _
No regressions on {x86_64,x86_64-m32,i686}-fedora12-linux-gnu.
Thanks,
Jan
2010-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* solib.c (info_sharedlibrary_command): New variable objfile,
initialize it. Prefer checking symbols for separate debug info file.
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -842,6 +842,7 @@ info_sharedlibrary_command (char *pattern, int from_tty)
for (so = so_list_head; so; so = so->next)
{
struct cleanup *lib_cleanup;
+ struct objfile *objfile;
if (! so->so_name[0])
continue;
@@ -861,10 +862,16 @@ info_sharedlibrary_command (char *pattern, int from_tty)
ui_out_field_skip (uiout, "to");
}
+ /* We just check the state of any single separate debug info file, if
+ such one exists. */
+ objfile = so->objfile;
+ if (objfile->separate_debug_objfile)
+ objfile = objfile->separate_debug_objfile;
+
if (! ui_out_is_mi_like_p (interp_ui_out (top_level_interpreter ()))
&& so->symbols_loaded
- && !objfile_has_partial_symbols (so->objfile)
- && !objfile_has_full_symbols (so->objfile))
+ && !objfile_has_partial_symbols (objfile)
+ && !objfile_has_full_symbols (objfile))
{
so_missing_debug_info = 1;
ui_out_field_string (uiout, "syms-read", "Yes (*)");
next reply other threads:[~2010-01-11 15:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-11 15:13 Jan Kratochvil [this message]
2010-01-11 15:21 ` Tristan Gingold
2010-01-11 16:08 ` Jan Kratochvil
2010-01-11 16:14 ` Pedro Alves
2010-01-11 16:31 ` Jan Kratochvil
2010-01-11 18:08 ` Tom Tromey
2010-01-11 15:23 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100111151258.GA9354@host0.dyn.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox