GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/alpha. # Check for support of thread-local storage handling in assembler and linker. AC_CACHE_CHECK(for Alpha TLS support, libc_cv_alpha_tls, [dnl cat > conftest.s <<\EOF .section ".tdata", "awT", @progbits .globl foo foo: .quad 1 .section ".tbss", "awT", @nobits .globl bar bar: .skip 8 .text baz: .set nomacro ldq $27, __tls_get_addr($29) !literal!1 ldq $16, a($29) !tlsgd!1 jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1 jsr $26, ($27), __tls_get_addr !lituse_tlsldm!2 ldq $27, __tls_get_addr($29) !literal!2 ldq $16, b($29) !tlsldm!2 ldq $16, c($29) !tlsgd ldq $16, d($29) !tlsldm ldq $16, e($29) !tlsgd!3 ldq $16, f($29) !tlsldm!4 ldq $16, g($29) !gotdtprel ldah $16, h($31) !dtprelhi lda $16, i($16) !dtprello lda $16, j($31) !dtprel ldq $16, k($29) !gottprel ldah $16, l($31) !tprelhi lda $16, m($16) !tprello lda $16, n($31) !tprel EOF dnl if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then libc_cv_alpha_tls=yes else libc_cv_alpha_tls=no fi rm -f conftest*]) if test $libc_cv_alpha_tls = no; then AC_MSG_ERROR([the assembler must support TLS]) fi AC_CACHE_CHECK(for GP relative module local relocs, libc_cv_alpha_hidden_gprel, [dnl cat > conftest.c <<\EOF static volatile int bar; int baz __attribute__((visibility("hidden"))); int f(void) { return bar + baz; } EOF dnl libc_cv_alpha_hidden_gprel=no if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&AS_MESSAGE_LOG_FD); then if grep -q 'bar.*!gprel' conftest.s \ && grep -q 'baz.*!gprel' conftest.s \ && ! grep -q 'bar.*!literal' conftest.s \ && ! grep -q 'baz.*!literal' conftest.s; then libc_cv_alpha_hidden_gprel=yes fi fi rm -f conftest*]) if test $libc_cv_alpha_hidden_gprel = yes; then AC_DEFINE(PI_STATIC_AND_HIDDEN) fi