[Bug target/49541] [4.6/4.7 regression] TLS support partially broken in 64-bit mode

ro at CeBiTec dot Uni-Bielefeld.DE gcc-bugzilla@gcc.gnu.org
Wed Jul 6 14:07:00 GMT 2011


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



More information about the Gcc-bugs mailing list