From: Daniel Jacobowitz <drow@false.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb-patches@sourceware.org, kevinb@redhat.com
Subject: Re: RFA: More concise errors for missing shared libraries
Date: Sat, 13 May 2006 22:11:00 -0000 [thread overview]
Message-ID: <20060513200445.GA10899@nevyn.them.org> (raw)
In-Reply-To: <200605130912.k4D9CLWI017276@elgar.sibelius.xs4all.nl>
On Sat, May 13, 2006 at 11:12:22AM +0200, Mark Kettenis wrote:
> > One of the quirks of SymbianOS compared to a traditional hosted target is
> > that it's quite likely that GDB will have no symbol file at all for many of
> > the loaded libraries. A ROM image may contain many DLLs, presented as a
> > virtual filesystem, which are effectively preloaded into the memory space of
> > every process. A user probably only has symbol files for his own DLLs, not
> > the DLLs which provide operating system services. So, the behavior of GDB
> > when shared libraries can not be found is much more important than on other
> > targets.
>
> Did you consider providing stub ELF libraries for the system DLL's too?
Yes, we did. But I concluded that I could not get them to distribute
stub ELF libraries with symbol table entries at the right addresses
(and it would probably be an invasive change to their build process).
Also, they'd be somewhat deceptive, since they wouldn't have internal
symbol table entries. GDB ignores the ELF "length" of symbols - we
should really take advantage of that someday.
> > Right now this is really noisy. We get a two-line error message for each
> > library from update_solib_list when we detect the new library, and another
> > one from solib_read_symbols later. This patch condenses those into a single
> > warning:
> >
> > warning: Could not load shared library symbols for 2 libraries, e.g. /lib/libnss_dns.so.2.
> > Do you need "set solib-search-path" or "set solib-absolute-prefix"?
>
> I think this is bad. I really hate it when tools give me incomplete
> error information. Consider the situation where I have set
> solib-search-path/solib-absolute-prefix, but only have a subset of the
> libraries available. I go and install libnss_dns.so.2, but I have no
> clue what the other library is. I have to rerun the program in GDB to
> find out the name of the other library.
>
> To reduce the clutter, I think we should not print the
>
> Do you need "set solib-search-path" or "set solib-absolute-prefix"?
>
> suggestion for every shared library, but only once, preferably at the
> end of of all output.
Would Jim's suggestion of printing out something about checking info
shared help?
Something like this:
warning: Could not load shared library symbols for 6 libraries, e.g. /lib/libc.so.6.
Try "info shared" for the full list of missing libraries.
Do you need "set solib-search-path" or "set solib-absolute-prefix"?
... later ...
warning: Could not load shared library symbols for 2 libraries, e.g. /lib/libnss_dns.so.2
--
Daniel Jacobowitz
CodeSourcery
prev parent reply other threads:[~2006-05-13 20:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-09 17:44 Daniel Jacobowitz
2006-05-10 21:11 ` Jim Blandy
2006-05-13 9:13 ` Mark Kettenis
2006-05-13 22:11 ` Daniel Jacobowitz [this message]
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=20060513200445.GA10899@nevyn.them.org \
--to=drow@false.org \
--cc=gdb-patches@sourceware.org \
--cc=kevinb@redhat.com \
--cc=mark.kettenis@xs4all.nl \
/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