From: Yao Qi <qiyaoltc@gmail.com>
To: Dmitry Antipov <dantipov@nvidia.com>
Cc: GDB Development <gdb@sourceware.org>
Subject: Re: Printing thread_local a.k.a. __thread variables
Date: Mon, 12 Feb 2018 14:54:00 -0000 [thread overview]
Message-ID: <CAH=s-PNASvb9R+W56rnodENxi-bJM9sGU_4XRhTLuDYfXx=H=A@mail.gmail.com> (raw)
In-Reply-To: <d771ca32-606c-8b27-8914-46a7e9d9cb48@nvidia.com>
On Mon, Feb 12, 2018 at 2:15 PM, Dmitry Antipov <dantipov@nvidia.com> wrote:
> On 02/12/2018 05:02 PM, Yao Qi wrote:
>
>> Because you are in thread 1, main thread, in which tlocal is not changed.
>> If you switch to other threads, you'll see the right value of tlocal.
>
> Argh. But this seems doesn't work for extended-remote target:
>
What is "this"? Can you be more explicit and precise? ....
> (gdb) thread apply all print tlocal
>
> Thread 9 (Thread 10463.10471):
> Cannot find thread-local storage for Thread 10463.10471, executable file
> target:/tmp/t-thread:
> Remote target failed to process qGetTLSAddr request
... is it broken in every threads in "thread apply all" or just in some
threads? Can you reproduce it every time or it is intermittent?
If you manually switch threads via command "thread N", can
you examine 'tlocal'?
I remember that there may be a race that GDB is already aware of a
thread, but libthread_db still isn't.
>
> (gdbserver side with '--remote-debug' agrees with the above):
>
> getpkt ("qGetTLSAddr:p28df.28e7,0,7f963e8a7330"); [no ack sent]
> putpkt ("$E01#a6"); [noack mode]
>
> Is my gdbserver is mis(configured|compiled) and do something wrong with
> libthread_db?
>
If GDBserver can get TLS address for some threads, but failed for others,
GDBserver must be configured/compiled correctly.
--
Yao (齐尧)
next prev parent reply other threads:[~2018-02-12 14:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-12 13:30 Dmitry Antipov
2018-02-12 14:02 ` Yao Qi
2018-02-12 14:15 ` Dmitry Antipov
2018-02-12 14:54 ` Yao Qi [this message]
2018-02-13 7:55 ` Dmitry Antipov
2018-02-13 9:19 ` Yao Qi
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='CAH=s-PNASvb9R+W56rnodENxi-bJM9sGU_4XRhTLuDYfXx=H=A@mail.gmail.com' \
--to=qiyaoltc@gmail.com \
--cc=dantipov@nvidia.com \
--cc=gdb@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