public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "jan dot kratochvil at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug symtab/9384] GDB can't find __thread variable in C++ program
Date: Mon, 13 Apr 2009 16:10:00 -0000	[thread overview]
Message-ID: <20090413161049.12608.qmail@sourceware.org> (raw)
In-Reply-To: <20070626234801.9384.jimb@codesourcery.com>


------- Additional Comments From jan dot kratochvil at redhat dot com  2009-04-13 16:10 -------
It started working on post-6.8 GDB but it is not completely correct as it works
through the .symtab TLS resolving now.

http://sourceware.org/ml/gdb/2009-04/msg00100.html =>

Checked the difference, both g++-4.3 and gcc-4.1 use more simple format as
read by `readelf -wi':
 <1><88>: Abbrev Number: 7 (DW_TAG_variable)
    <89>   DW_AT_name        : i	
[snip]
    <91>   DW_AT_external    : 1	
    <92>   DW_AT_location    : 10 byte block: 3 0 0 0 0 0 0 0 0 e0 	(DW_OP_addr:
0; DW_OP_GNU_push_tls_address or DW_OP_HP_unknown)

while g++-4.1 uses:
 <2><d2>: Abbrev Number: 7 (DW_TAG_variable)
     DW_AT_name        : i	
[snip]
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
 <1><de>: Abbrev Number: 8 (DW_TAG_variable)
     DW_AT_specification: <d2>	
     DW_AT_location    : 10 byte block: 3 0 0 0 0 0 0 0 0 e0 	(DW_OP_addr: 0;
DW_OP_GNU_push_tls_address)

Which is perfectly valid DWARF but current GDB cannot cope with it.

It starts working in post-6.8 FSF GDB because it gets resolved as an external
TLS reference.  External TLS references did not work before.  It is not
completely correct but in practice it works.  Fixed by this patch:
http://sourceware.org/ml/gdb/2008-07/threads.html#00341
http://sourceware.org/ml/gdb-patches/2008-08/threads.html#00026
http://sourceware.org/ml/gdb-patches/2008-09/threads.html#00204
http://sourceware.org/ml/gdb-patches/2008-11/threads.html#00706
http://sourceware.org/ml/gdb-patches/2008-12/threads.html#00003
http://sourceware.org/ml/gdb-cvs/2008-12/msg00009.html


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jan dot kratochvil at redhat
                   |                            |dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=9384

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


       reply	other threads:[~2009-04-13 16:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070626234801.9384.jimb@codesourcery.com>
2009-04-13 16:10 ` jan dot kratochvil at redhat dot com [this message]
2010-07-13 17:05 ` tromey at redhat dot com
     [not found] <bug-9384-4717@http.sourceware.org/bugzilla/>
2012-07-31  9:47 ` orgads at gmail dot com

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=20090413161049.12608.qmail@sourceware.org \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).