This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode
- From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 6 Jul 2011 14:07:38 +0000
- Subject: [Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode
- Auto-submitted: auto-generated
- References: <bug-49541-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49541
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2011-07-06 14:06:59 UTC ---
> --- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-07-06 08:52:17 UTC ---
> Rainer, any idea to solve this?
One comment up front: It's best to directly Cc: me in PRs, otherwise I
may easily miss them.
It took me some time to understand why this didn't hit me in my S8
bootstraps, but they run in an S8 branded zone, where the alternate
thread library is copied over the default one, so __tls_get_addr is also
found in /lib/sparcv9/libthread.so.
Trying on our only native S8 machine, I see the same failure.
I think the only solution is to move LIB_THREAD_LDFLAGS_SPEC out of
LIB_SPEC (which is way too late, as you've observed) and into or in
front of LINK_ARCH_SPEC where all the other -L/-R flags are passed.
I'll have a look at this.
Rainer