Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@redhat.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sources.redhat.com
Subject: [rfa] qSymbol in remote_wait
Date: Fri, 15 Oct 2004 02:17:00 -0000	[thread overview]
Message-ID: <vt2lle8n2ti.fsf@zenia.home> (raw)


> 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.


             reply	other threads:[~2004-10-15  2:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-15  2:17 Jim Blandy [this message]
2004-10-15 14:46 ` Daniel Jacobowitz
  -- strict thread matches above, loose matches on Subject: below --
2004-02-01  1:22 Daniel Jacobowitz
2004-02-11 17:32 ` Daniel Jacobowitz
2004-02-12 15:58   ` Andrew Cagney

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=vt2lle8n2ti.fsf@zenia.home \
    --to=jimb@redhat.com \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    /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