about summary refs log tree commit diff
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.gz
glibc-8d4b5a8a50fad0ed1005380aa8d1c13dcfdab08d.tar.xz
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