Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to enable __thread in gcc 3.4.2?

622 views
Skip to first unread message

Pat Heuvel

unread,
Oct 31, 2004, 3:15:23 AM10/31/04
to
Gday all,

I am trying to build glibc-2.3.3 after having built gcc-3.4.2. My
current gcc -v results are:

Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/specs
Configured with: ../gcc-3.4.2/configure --prefix=/usr --enable-threads=posix
Thread model: posix
gcc version 3.4.2

but the configure for glibc-2.3.3 fails with:

running configure fragment for sysdeps/i386/elf
checking for i386 TLS support... no
running configure fragment for nptl/sysdeps/pthread
configure: error: compiler support for __thread is required

My configure command line looks like:
../glibc-2.3.3/configure --prefix=/usr --enable-add-ons
--with-headers=/usr/src/linux-2.6.9/include --with-tls --enable-kernel=2.6.0

Can someone please point me in the right direction to fix this and get
glibc built - I presume I've done something wrong building gcc?

TIA,
Pat Heuvel

Paul Pluzhnikov

unread,
Oct 31, 2004, 1:58:15 PM10/31/04
to
Pat Heuvel <phe...@tpg.com.au> writes:

> Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/specs
> Configured with: ../gcc-3.4.2/configure --prefix=/usr --enable-threads=posix
> Thread model: posix
> gcc version 3.4.2

When gcc is configured, it checks to see if thread-local storage
is supported by your assembler. Apparently it isn't; so you get no
__thread support.

Try updating binutils, then reconfiguring and rebuilding gcc.
If your new gcc can compile this:

__thread int x;

then you are in business.

> but the configure for glibc-2.3.3 fails with:

Upgrading glibc from source is not for the faint of hart.
You do realize that making a single mistake can render your system
unbootable, don't you? An easier path is usually just to upgrade
your distribution.

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.

Pat Heuvel

unread,
Nov 2, 2004, 3:51:35 PM11/2/04
to
Paul Pluzhnikov wrote:
> Pat Heuvel <phe...@tpg.com.au> writes:
>
>

> When gcc is configured, it checks to see if thread-local storage
> is supported by your assembler. Apparently it isn't; so you get no
> __thread support.
>
> Try updating binutils, then reconfiguring and rebuilding gcc.
> If your new gcc can compile this:
>
> __thread int x;

That's what I've been trying with varying (well one or two) configure
options... But what you say is exactly what I was after! thanks very much.


>
> then you are in business.
>
>
>>but the configure for glibc-2.3.3 fails with:
>
>
> Upgrading glibc from source is not for the faint of hart.
> You do realize that making a single mistake can render your system
> unbootable, don't you? An easier path is usually just to upgrade
> your distribution.

Yeah - been there, done that. I've upgraded a couple of times, and I
have had that problem. I guess I like the learning part, although I've
wasted a lot of that by not writing everything down! Maybe I just like
living dangerously! :)
>
> Cheers,

Thanks very much for your response.

Regards,
Pat

0 new messages