mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-14 07:10:05 +00:00
c053fa34cd
This patch removes the elf/ directory, moving any special configury down a directory e.g. TLS checks. This patch also implements the required crti.S and crtn.S files, verifying that they match the current implementation.
67 lines
1.7 KiB
Plaintext
67 lines
1.7 KiB
Plaintext
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|
|
|
dnl The standard hppa assembler uses `;' to start comments and `!'
|
|
dnl as a line separator.
|
|
AC_CACHE_CHECK(for assembler line separator,
|
|
libc_cv_asm_line_sep, [dnl
|
|
cat > conftest.s <<EOF
|
|
nop ; is_old_puffin
|
|
EOF
|
|
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
|
libc_cv_asm_line_sep='!'
|
|
else
|
|
if test -z "$enable_hacker_mode"; then
|
|
echo "*** You need a newer assembler to compile glibc"
|
|
rm -f conftest*
|
|
exit 1
|
|
fi
|
|
libc_cv_asm_line_sep=';'
|
|
fi
|
|
rm -f conftest*])
|
|
AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
|
|
|
|
# Check for support of thread-local storage handling in assembler and
|
|
# linker.
|
|
AC_CACHE_CHECK(for hppa TLS support, libc_cv_hppa_tls, [dnl
|
|
cat > conftest.s <<\EOF
|
|
; Setup tls data
|
|
.section ".tdata","awT",@progbits
|
|
foo: .data 32
|
|
.text
|
|
; Test general dyanmic relocations
|
|
test0:
|
|
addil LT'foo-$tls_gdidx$, %r19
|
|
ldo RT'foo-$tls_gdidx$(%r1), %r26
|
|
b __tls_get_addr
|
|
nop
|
|
; Test local dynamic relocations
|
|
test1:
|
|
addil LT'foo-$tls_ldidx$, %r19
|
|
b __tls_get_addr
|
|
ldo RT'foo-$tls_ldidx$(%r1), %r26
|
|
ldo RR'foo-$tls_dtpoff$(%r1), %r25
|
|
; More variables can be loaded...
|
|
; Test initial exec reloctiosn
|
|
test2:
|
|
mfctl %cr27, %r26
|
|
addil LT'foo-$tls_ieoff$, %r19
|
|
ldw RT'foo-$tls_ieoff$(%r1), %r25
|
|
add %r26, %r25, %r24
|
|
; Test local exec relocations
|
|
test3:
|
|
mfctl %cr27, %r26
|
|
addil LR'foo-$tls_leoff$, %r26
|
|
ldo RR'foo-$tls_leoff$(%r1), %r25
|
|
; Done all the TLS tests.
|
|
EOF
|
|
dnl
|
|
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
|
libc_cv_hppa_tls=yes
|
|
else
|
|
libc_cv_hppa_tls=no
|
|
fi
|
|
rm -f conftest*])
|
|
if test $libc_cv_hppa_tls = no; then
|
|
AC_MSG_ERROR([the assembler must support TLS])
|
|
fi
|