This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36955] [4.4 Regression] TLS LIBCALL change breaks libstdc++ built with older binutils
- From: "amodra at bigpond dot net dot au" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jul 2008 00:20:29 -0000
- Subject: [Bug target/36955] [4.4 Regression] TLS LIBCALL change breaks libstdc++ built with older binutils
- References: <bug-36955-4503@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #11 from amodra at bigpond dot net dot au 2008-07-29 00:20 -------
When -fPIC, r30 needs to be set to point into the .got2 section for the
function, so that r30 is valid for the __tls_get_addr plt call stub. Note that
this is a different GOT pointer than that used by @got@tlsld, which points into
the .got section (as for the -fpic GOT). If there's anything to boo about it's
this, rather than using a particular register for .got2 addressing. -fPIC tls
really ought to use the .got2 section too.
--
amodra at bigpond dot net dot au changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|amodra at bigpond dot net |
|dot au |
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-07-29 00:20:29
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36955