diff options
Diffstat (limited to 'sysdeps/powerpc/powerpc32/configure.in')
-rw-r--r-- | sysdeps/powerpc/powerpc32/configure.in | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc32/configure.in b/sysdeps/powerpc/powerpc32/configure.in index 21d3f5ee5b..bc775bb139 100644 --- a/sysdeps/powerpc/powerpc32/configure.in +++ b/sysdeps/powerpc/powerpc32/configure.in @@ -30,3 +30,37 @@ rm -rf conftest*]) if test $libc_cv_ppc_secure_plt = yes; then AC_DEFINE(HAVE_PPC_SECURE_PLT) fi + +# Check for support of thread-local storage handling in assembler and +# linker. +AC_CACHE_CHECK(for powerpc32 TLS support, libc_cv_powerpc32_tls, [dnl +cat > conftest.s <<\EOF + .section ".tdata","awT",@progbits +x: .long 1 +x1: .long 1 +x2: .long 1 + .text + addi 3,31,x@got@tlsgd + addi 3,31,x1@got@tlsld + addi 9,3,x1@dtprel + addis 9,3,x2@dtprel@ha + addi 9,9,x2@dtprel@l + lwz 0,x1@dtprel(3) + addis 9,3,x2@dtprel@ha + lwz 0,x2@dtprel@l(9) + lwz 9,x3@got@tprel(31) + add 9,9,x@tls + addi 9,2,x1@tprel + addis 9,2,x2@tprel@ha + addi 9,9,x2@tprel@l +EOF +dnl +if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_powerpc32_tls=yes +else + libc_cv_powerpc32_tls=no +fi +rm -f conftest*]) +if test $libc_cv_powerpc32_tls = no; then + AC_MSG_ERROR([the assembler must support TLS]) +fi |