This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [cygwin] libjava/java/lang/natClass.cc:904: error: thread-local storage not supported for this target
- From: Andrew Haley <aph at redhat dot com>
- To: "Christian Joensson" <christian dot joensson at gmail dot com>
- Cc: "GCC Development" <gcc at gcc dot gnu dot org>
- Date: Thu, 12 Oct 2006 11:03:48 +0100
- Subject: Re: [cygwin] libjava/java/lang/natClass.cc:904: error: thread-local storage not supported for this target
- References: <5460e3330610120251t7088b81nc2318e34d6491c34@mail.gmail.com>
Christian Joensson writes:
> Currently, and it's been there for a while, I get the following error
> on gcc trunk:
>
> ../../../gcc/libjava/java/lang/natClass.cc:904: error: thread-local
> storage not supported for this target
> make[3]: *** [java/lang/natClass.lo] Error 1
> make[3]: Leaving directory `/usr/local/src/trunk/objdir/i686-pc-cygwin/libjava'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/local/src/trunk/objdir/i686-pc-cygwin/libjava'
> make[1]: *** [all-target-libjava] Error 2
> make[1]: Leaving directory `/usr/local/src/trunk/objdir'
> make: *** [all] Error 2
>
> My system is this:
>
> Windows XP Pro/SP2 cygwin Pentium M processor 2.13GHz system with packages:
>
> binutils 20060817-1 2.17.50 20060817
> bison 2.3-1 2.3
> cygwin 1.5.21-2
> dejagnu 20021217-2 1.4.2.x
> expect 20030128-1 5.26
> gcc 3.4.4-1
> gcc-ada 3.4.4-1
> gcc-g++ 3.4.4-1
> gmp 4.1.4-2
> make 3.81-1
> tcltk 20060202-1 8.4
> w32api 3.7-1
>
>
> and the configure was done like this:
>
> ../gcc/configure --enable-nls --without-included-gettext
> --enable-version-specific-runtime-libs --without-x --enable-libgcj
> --with-system-zlib --enable-threads=posix
> --enable-languages=c,ada,c++,fortran,java,objc,obj-c++,treelang
>
> Now, am I doing something terribly wrong here or is this a well know "bug"?
That __thread variable is surrounded by HAVE_TLS. There is a
configure test which simply compiles this line:
__thread int foo;
and that configure test must succeed for HAVE_TLS to be set. So, to
fix this we need to find out if that program did compile, and if so,
how.
--disable-tls in the configure line might solve your problem.
Andrew.