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.