diff options
Diffstat (limited to 'sysdeps/powerpc/powerpc64/configure')
-rw-r--r-- | sysdeps/powerpc/powerpc64/configure | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/configure b/sysdeps/powerpc/powerpc64/configure index 7cff76141b..762ae4a25d 100644 --- a/sysdeps/powerpc/powerpc64/configure +++ b/sysdeps/powerpc/powerpc64/configure @@ -144,3 +144,67 @@ if test x$libc_cv_overlapping_opd = xyes; then $as_echo "#define USE_PPC64_OVERLAPPING_OPD 1" >>confdefs.h fi + +# Check for support of thread-local storage handling in assembler and +# linker. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for powerpc64 TLS support" >&5 +$as_echo_n "checking for powerpc64 TLS support... " >&6; } +if ${libc_cv_powerpc64_tls+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.s <<\EOF + .section ".tdata","awT",@progbits +x: .quad 1 +x1: .quad 1 +x2: .quad 1 +x3: .quad 1 +x4: .long 1 + .section ".toc","aw" +.LC0: + .quad x@dtpmod + .quad x@dtprel +.LC1: + .quad x1@dtpmod + .quad 0 +.LC2: + .quad x@tprel + .text + addi 3,2,x@got@tlsgd + addi 3,2,.LC0@toc + addi 3,2,x1@got@tlsld + addi 9,3,x1@dtprel + addis 9,3,x2@dtprel@ha + addi 9,9,x2@dtprel@l + ld 9,x3@got@dtprel(2) + addi 3,2,.LC0@toc + lwz 0,x1@dtprel(3) + ld 0,x1@dtprel(3) + addis 9,3,x2@dtprel@ha + lwz 0,x2@dtprel@l(9) + ld 0,x2@dtprel@l(9) + ld 9,x3@got@dtprel(2) + ld 9,x@got@tprel(2) + add 9,9,x@tls + ld 9,.LC2@toc(2) + add 9,9,.LC2@tls + addi 9,13,x1@tprel + addis 9,13,x2@tprel@ha + addi 9,9,x2@tprel@l +EOF +if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + libc_cv_powerpc64_tls=yes +else + libc_cv_powerpc64_tls=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_powerpc64_tls" >&5 +$as_echo "$libc_cv_powerpc64_tls" >&6; } +if test $libc_cv_powerpc64_tls = no; then + as_fn_error $? "the assembler must support TLS" "$LINENO" 5 +fi |