http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55308
--- Comment #5 from Anton Shterenlikht <mexas at bristol dot ac.uk> 2013-01-25 09:37:38 UTC --- I'm building gcc-4.8-20130113. I tried your patch, although my line numbers are different: # diff -u10 configure.ac.orig configure.ac --- configure.ac.orig 2013-01-11 11:46:21.000000000 +0000 +++ configure.ac 2013-01-25 09:28:24.000000000 +0000 @@ -3153,21 +3153,21 @@ if test x$on_solaris = xyes && test x$gas_flag = xno; then conftest_s=' .section ".tdata",#alloc,#write,#tls' tls_first_major=0 tls_first_minor=0 else conftest_s=' .section ".tdata","awT",@progbits' tls_first_major=2 tls_first_minor=14 - tls_as_opt="-32 --fatal-warnings" + tls_as_opt="--fatal-warnings" fi conftest_s="$conftest_s foo: .long 25 .text sethi %tgd_hi22(foo), %o0 add %o0, %tgd_lo10(foo), %o1 add %l7, %o1, %o0, %tgd_add(foo) call __tls_get_addr, %tgd_call(foo) sethi %tldm_hi22(foo), %l1 add %l1, %tldm_lo10(foo), %l2 # # diff -u10 configure.orig configure --- configure.orig 2013-01-11 11:46:21.000000000 +0000 +++ configure 2013-01-25 09:28:27.000000000 +0000 @@ -23390,21 +23390,21 @@ if test x$on_solaris = xyes && test x$gas_flag = xno; then conftest_s=' .section ".tdata",#alloc,#write,#tls' tls_first_major=0 tls_first_minor=0 else conftest_s=' .section ".tdata","awT",@progbits' tls_first_major=2 tls_first_minor=14 - tls_as_opt="-32 --fatal-warnings" + tls_as_opt="--fatal-warnings" fi conftest_s="$conftest_s foo: .long 25 .text sethi %tgd_hi22(foo), %o0 add %o0, %tgd_lo10(foo), %o1 add %l7, %o1, %o0, %tgd_add(foo) call __tls_get_addr, %tgd_call(foo) sethi %tldm_hi22(foo), %l1 add %l1, %tldm_lo10(foo), %l2 # I then get this failure: gmake[4]: Leaving directory `/usr/ports/lang/gcc48/work/build/sparc64-portbld-freebsd10.0/libgcc' /usr/ports/lang/gcc48/work/build/./gcc/xgcc -B/usr/ports/lang/gcc48/work/build/./gcc/ -B/usr/local/ sparc64-portbld-freebsd10.0/bin/ -B/usr/local/sparc64-portbld-freebsd10.0/lib/ -isystem /usr/local/ sparc64-portbld-freebsd10.0/include -isystem /usr/local/sparc64-portbld-freebsd10.0/sys-include -g -O2 -pipe -I/usr/local/include -fno-strict-aliasing -O2 -g -O2 -pipe -I/usr/local/include -fno- strict-aliasing -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pthread -g -DIN_LIBGCC2 -f building-libgcc -fno-stack-protector -fPIC -pthread -I. -I. -I../.././gcc -I../.././../gcc-4.8-20 130113/libgcc -I../.././../gcc-4.8-20130113/libgcc/. -I../.././../gcc-4.8-20130113/libgcc/../gcc -I ../.././../gcc-4.8-20130113/libgcc/../include -DHAVE_CC_TLS -o _muldc3.o -MT _muldc3.o -MD -MP -M F _muldc3.dep -DL_muldc3 -c ../.././../gcc-4.8-20130113/libgcc/libgcc2.c -fvisibility=hidden -DHIDE _EXPORTS In file included from ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:58:0: ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:254:16: warning: conflicting types for built-in functi on '__divdc3' [enabled by default] #define __N(a) __ ## a ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:363:19: note: in expansion of macro '__N' #define __divdc3 __N(divdc3) ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:452:15: note: in expansion of macro '__divdc3' extern DCtype __divdc3 (DFtype, DFtype, DFtype, DFtype); ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:254:16: warning: conflicting types for built-in functi on '__muldc3' [enabled by default] #define __N(a) __ ## a ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:351:19: note: in expansion of macro '__N' #define __muldc3 __N(muldc3) ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:453:15: note: in expansion of macro '__muldc3' extern DCtype __muldc3 (DFtype, DFtype, DFtype, DFtype); ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:254:16: warning: conflicting types for built-in functi on '__divtc3' [enabled by default] #define __N(a) __ ## a ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:369:19: note: in expansion of macro '__N' #define __divtc3 __N(divtc3) ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:473:15: note: in expansion of macro '__divtc3' extern TCtype __divtc3 (TFtype, TFtype, TFtype, TFtype); ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:254:16: warning: conflicting types for built-in functi on '__multc3' [enabled by default] #define __N(a) __ ## a ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:357:19: note: in expansion of macro '__N' #define __multc3 __N(multc3) ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:474:15: note: in expansion of macro '__multc3' extern TCtype __multc3 (TFtype, TFtype, TFtype, TFtype); ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:1853:14: error: size of array 'compile_type_assert' is negative extern void *compile_type_assert[sizeof(INFINITY) == sizeof(MTYPE) ? 1 : -1]; ^ In file included from ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:58:0: ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:254:16: warning: conflicting types for built-in functi on '__muldc3' [enabled by default] #define __N(a) __ ## a ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.h:351:19: note: in expansion of macro '__N' #define __muldc3 __N(muldc3) ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:1830:25: note: in expansion of macro '__muldc3' #define _CONCAT3(A,B,C) A##B##C ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:1829:24: note: in expansion of macro '_CONCAT3' #define CONCAT3(A,B,C) _CONCAT3(A,B,C) ^ ../.././../gcc-4.8-20130113/libgcc/libgcc2.c:1866:1: note: in expansion of macro 'CONCAT3' CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d) ^ gmake[3]: *** [_muldc3.o] Error 1 gmake[3]: Leaving directory `/usr/ports/lang/gcc48/work/build/sparc64-portbld-freebsd10.0/libgcc' gmake[2]: *** [all-stage2-target-libgcc] Error 2 gmake[2]: Leaving directory `/usr/ports/lang/gcc48/work/build' gmake[1]: *** [stage2-bubble] Error 2 gmake[1]: Leaving directory `/usr/ports/lang/gcc48/work/build' gmake: *** [bootstrap-lean] Error 2 *** [do-build] Error code 1 Stop in /usr/ports/lang/gcc48.