This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] qSymbol in remote_wait
- From: Daniel Jacobowitz <drow at false dot org>
- To: Jim Blandy <jimb at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Fri, 15 Oct 2004 10:46:01 -0400
- Subject: Re: [rfa] qSymbol in remote_wait
- References: <vt2lle8n2ti.fsf@zenia.home>
On Thu, Oct 14, 2004 at 09:16:25PM -0500, Jim Blandy wrote:
>
> > As Amit Kale mentioned in December, to support NPTL gdbserver needs to
> > look up symbols during remote_wait. The existing qSymbol model
> > assumes that only at objfile loads (i.e. during td_ta_new) do we need
> > to look up symbols; NPTL looks up symbols lazily when it needs them,
> > which includes at the creation of the first child thread. This patch
> > (which, I know, needs a matching change for the manual) allows
> > qSymbol: queries as a response to remote_wait, in much the same way as
> > the file I/O protocol.
> >
> > 2004-01-31 Daniel Jacobowitz <drow@mvista.com>
> >
> > * remote.c (handle_remote_qsymbol): New function, broken out
> > from remote_check_symbols.
> > (remote_check_symbols): Call it.
> > (remote_wait): Handle qSymbol.
> > (remote_async_wait): Likewise.
>
> I was struggling with this too until I noticed the function
> td_symbol_list, which gives you an à priori list of all the symbols
> libthread_db may ever request. Unless I've missed something, this is
> exactly what's needed to fit ps_pglobal_lookup into the existing
> remote protocol's qSymbol dance: you can look up all the symbols
> libthread_db needs as soon as the inferior loads libpthread.so, and
> then have ps_pglobal_lookup just provide values from a cache.
>
> I think this has been present in NPTL's libthread_db from the
> beginning; it's present in some versions of LinuxThreads' as well, but
> I don't think it was there initially.
Woah! I never noticed that was there. Thank you very, very much, Jim.
Since I assume that all the symbols in td_symbol_list - or at least,
most of them - will be defined, I can just try the first one every time
that GDB offers to look up symbols for me.
--
Daniel Jacobowitz