OSDN Git Service

* configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
[pf3gnuchains/gcc-fork.git] / gcc / configure
index 6934b1c..f5cb4fe 100755 (executable)
@@ -21946,25 +21946,53 @@ foo:  .long   25
        tls_first_minor=17
        ;;
   i[34567]86-*-*)
-    conftest_s='
-       .section ".tdata","awT",@progbits
+    case "$target" in
+      i[34567]86-*-solaris2.[56789]*)
+       # TLS was introduced in the Solaris 9 4/04 release but
+       # we do not enable it by default on Solaris 9 either.
+       if test "x$enable_tls" = xyes ; then
+         on_solaris=yes
+       else
+         enable_tls=no;
+       fi
+       ;;
+      i[34567]86-*-solaris2.*)
+       on_solaris=yes
+       ;;
+      *)
+       on_solaris=no
+       ;;
+    esac
+    if test x$on_solaris = xyes && test x$gas_flag = xno; then
+      conftest_s='
+       .section .tdata,"awt",@progbits'
+      tls_first_major=0
+      tls_first_minor=0
+
+$as_echo "#define TLS_SECTION_ASM_FLAG 't'" >>confdefs.h
+
+    else
+      conftest_s='
+       .section ".tdata","awT",@progbits'
+      tls_first_major=2
+      tls_first_minor=14
+      tls_as_opt="--fatal-warnings"
+    fi
+    conftest_s="$conftest_s
 foo:   .long   25
        .text
        movl    %gs:0, %eax
-       leal    foo@TLSGD(,%ebx,1), %eax
-       leal    foo@TLSLDM(%ebx), %eax
-       leal    foo@DTPOFF(%eax), %edx
-       movl    foo@GOTTPOFF(%ebx), %eax
-       subl    foo@GOTTPOFF(%ebx), %eax
-       addl    foo@GOTNTPOFF(%ebx), %eax
-       movl    foo@INDNTPOFF, %eax
-       movl    $foo@TPOFF, %eax
-       subl    $foo@TPOFF, %eax
-       leal    foo@NTPOFF(%ecx), %eax'
-       tls_first_major=2
-       tls_first_minor=14
-       tls_as_opt=--fatal-warnings
-       ;;
+       leal    foo@tlsgd(,%ebx,1), %eax
+       leal    foo@tlsldm(%ebx), %eax
+       leal    foo@dtpoff(%eax), %edx
+       movl    foo@gottpoff(%ebx), %eax
+       subl    foo@gottpoff(%ebx), %eax
+       addl    foo@gotntpoff(%ebx), %eax
+       movl    foo@indntpoff, %eax
+       movl    \$foo@tpoff, %eax
+       subl    \$foo@tpoff, %eax
+       leal    foo@ntpoff(%ecx), %eax"
+    ;;
   x86_64-*-*)
     conftest_s='
        .section ".tdata","awT",@progbits