Rainer Orth <r...@cebitec.uni-bielefeld.de> writes: > * On Solaris 8/x86 with native TLS, SETCONTEXT_CLOBBERS_TLS was > incorrectly defined, causing a proc.c compilation failure: > > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:105:4: error: #error unknown > case for SETCONTEXT_CLOBBERS_TLS > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c: In function 'runtime_gogo': > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:299:2: error: implicit > declaration of function 'fixcontext' [-Werror=implicit-function-declaration] > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c: In function > 'runtime_schedinit': > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:366:2: error: implicit > declaration of function 'initcontext' [-Werror=implicit-function-declaration] > cc1: all warnings being treated as errors > make[4]: *** [proc.lo] Error 1 > > The configure test failed like this: > > configure:14894: ./conftest > ld.so.1: conftest: fatal: conftest: object requires TLS, but TLS failed to > initi > alize > /vol/gcc/src/hg/trunk/local/libgo/configure[20]: 28491 Killed > > The problem is that on Solaris 8 one needs to link with -pthread which > takes care of finding the correct libthread.so. The following patch > takes care of that and gives decent testsuite results. > > * In the cross-compilation case, one needs to test both the > i?86-*-solaris2.1[01] and x86_64-*-solaris2.1[10] target triplets, but > only for 64-bit. The first is the default, while one can configure > for the second if need be. The patch contains the necessary change, > adapted from libgcc/configure.ac's type size detection. Besides, the > bug affects both Solaris 10 and 11, so the workaround should trigger > on either, too.
Thanks. Committed. Ian