Skip to content
Permalink
e64ac02c24
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
71 lines (63 sloc) 1.88 KB
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