aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-07 06:38:57 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-07 06:38:57 +0000
commit8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d (patch)
tree4a12090365248eea8757bad604a6f7082784c8cc /sysdeps
parent4b9abcb6b83ebc64aa2a468b950c24e4ee96e1a2 (diff)
downloadglibc-8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d.tar
glibc-8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d.tar.gz
glibc-8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d.tar.bz2
glibc-8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d.zip
Update.
2002-02-06 Ulrich Drepper <drepper@redhat.com> * configure.in: Add --without-tls option. * sysdeps/i386/elf/configure.in: Don't check for TLS support if --without-tls is given. * sysdeps/generic/dl-tls.c: Include <tls.h>. * sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/dl-tls.c5
-rwxr-xr-xsysdeps/i386/elf/configure6
-rw-r--r--sysdeps/i386/elf/configure.in2
3 files changed, 11 insertions, 2 deletions
diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c
index 557a023453..729adf0040 100644
--- a/sysdeps/generic/dl-tls.c
+++ b/sysdeps/generic/dl-tls.c
@@ -19,6 +19,7 @@
#include <assert.h>
+#include <tls.h>
#include <dl-tls.h>
#include <ldsodefs.h>
@@ -99,6 +100,10 @@ _dl_determine_tlsoffset (struct link_map *firstp)
runp->l_tls_offset = offset;
}
while ((runp = runp->l_tls_nextimage) != firstp);
+
+ /* The thread descriptor (pointed to by the thread pointer) has its
+ own alignment requirement. Adjust the static TLS size
+ appropriately. */
# elif TLS_DTV_AT_TP
struct link_map *lastp;
diff --git a/sysdeps/i386/elf/configure b/sysdeps/i386/elf/configure
index ca7f567bcb..1033f78ef3 100755
--- a/sysdeps/i386/elf/configure
+++ b/sysdeps/i386/elf/configure
@@ -1,9 +1,10 @@
# Local configure fragment for sysdeps/unix/sysv/linux.
+if test "$usetls" != no; then
# Check for support of thread-local storage handling in assembler and
# linker.
echo $ac_n "checking for i386 TLS support""... $ac_c" 1>&6
-echo "configure:7: checking for i386 TLS support" >&5
+echo "configure:8: checking for i386 TLS support" >&5
if eval "test \"`echo '$''{'libc_cv_386_tls'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -20,7 +21,7 @@ baz: leal bar@TLSLDM(%ebx), %eax
subl foo@GOTTPOFF(%edx), %eax
subl $bar@TPOFF, %eax
EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:24: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:25: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_386_tls=yes
else
libc_cv_386_tls=no
@@ -35,3 +36,4 @@ if test $libc_cv_386_tls = yes; then
EOF
fi
+fi
diff --git a/sysdeps/i386/elf/configure.in b/sysdeps/i386/elf/configure.in
index 6352e69aa3..96e9b2c9f3 100644
--- a/sysdeps/i386/elf/configure.in
+++ b/sysdeps/i386/elf/configure.in
@@ -2,6 +2,7 @@ sinclude(./aclocal.m4)dnl Autoconf lossage
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux.
+if test "$usetls" != no; then
# Check for support of thread-local storage handling in assembler and
# linker.
AC_CACHE_CHECK(for i386 TLS support, libc_cv_386_tls, [dnl
@@ -28,3 +29,4 @@ rm -f conftest*])
if test $libc_cv_386_tls = yes; then
AC_DEFINE(HAVE_TLS_SUPPORT)
fi
+fi