This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Removing non-TLS support


Further along the same lines, HAVE_TLS_SUPPORT has now been removed from 
libc and configure tests for each target's assembler TLS support made to 
require the support unconditionally.  I've applied these ARM and MIPS 
changes.  Alpha and PA should also be changed similarly.

diff --git a/ChangeLog.arm b/ChangeLog.arm
index 93eee30..51e477c 100644
--- a/ChangeLog.arm
+++ b/ChangeLog.arm
@@ -1,3 +1,12 @@
+2011-09-13  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/arm/elf/configure.in: Always test for TLS support and
+	error out in case it is missing.
+	* sysdeps/arm/elf/configure: Regenerate.
+	* sysdeps/arm/nptl/tls.h,
+	sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S: Remove tests for
+	HAVE_TLS_SUPPORT.
+
 2011-09-11  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/arm/dl-machine.h, sysdeps/arm/dl-tlsdesc.S,
diff --git a/sysdeps/arm/elf/configure.in b/sysdeps/arm/elf/configure.in
index 1045296..123a321 100644
--- a/sysdeps/arm/elf/configure.in
+++ b/sysdeps/arm/elf/configure.in
@@ -1,7 +1,6 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/arm/elf.
 
-if test "$usetls" != no; then
 # Check for support of thread-local storage handling in assembler and
 # linker.
 AC_CACHE_CHECK(for ARM TLS support, libc_cv_arm_tls, [dnl
@@ -23,9 +22,8 @@ else
   libc_cv_arm_tls=no
 fi
 rm -f conftest*])
-if test $libc_cv_arm_tls = yes; then
-  AC_DEFINE(HAVE_TLS_SUPPORT)
-fi
+if test $libc_cv_arm_tls = no; then
+  AC_MSG_ERROR([the assembler must support TLS])
 fi
 
 dnl It is always possible to access static and hidden symbols in an
diff --git a/sysdeps/arm/nptl/tls.h b/sysdeps/arm/nptl/tls.h
index 82a6881..16c9706 100644
--- a/sysdeps/arm/nptl/tls.h
+++ b/sysdeps/arm/nptl/tls.h
@@ -43,11 +43,6 @@ typedef union dtv
 #endif /* __ASSEMBLER__ */
 
 
-/* We require TLS support in the tools.  */
-#ifndef HAVE_TLS_SUPPORT
-# error "TLS support is required."
-#endif
-
 #ifndef __ASSEMBLER__
 
 /* Get system call information.  */
diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
index 7691a94..8eeff6b 100644
--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
@@ -35,8 +35,6 @@
 
 #include <sysdep.h>
 
-#ifdef HAVE_TLS_SUPPORT
-
 /* GCC will emit calls to this routine under -mtp=soft.  Linux has an
    equivalent helper function (which clobbers fewer registers than
    a normal function call) in a high page of memory; tail call to the
@@ -47,5 +45,3 @@ ENTRY (__aeabi_read_tp)
 	mov	r0, #0xffff0fff
 	sub	pc, r0, #31
 END (__aeabi_read_tp)
-
-#endif
diff --git a/ChangeLog.mips b/ChangeLog.mips
index 0694fe8..b99b338 100644
--- a/ChangeLog.mips
+++ b/ChangeLog.mips
@@ -1,3 +1,10 @@
+2011-09-13  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/mips/elf/configure.in: Always test for TLS support and
+	error out in case it is missing.
+	* sysdeps/mips/elf/configure: Regenerate.
+	* sysdeps/mips/nptl/tls.h: Remove test for HAVE_TLS_SUPPORT.
+
 2011-09-11  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/mips/dl-machine.h, sysdeps/mips/libc-tls.c,
diff --git a/sysdeps/mips/elf/configure.in b/sysdeps/mips/elf/configure.in
index ecb9108..5cb5a74 100644
--- a/sysdeps/mips/elf/configure.in
+++ b/sysdeps/mips/elf/configure.in
@@ -1,7 +1,6 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/mips/elf.
 
-if test "$usetls" != no; then
 # Check for support of thread-local storage handling in assembler and
 # linker.
 AC_CACHE_CHECK(for MIPS TLS support, libc_cv_mips_tls, [dnl
@@ -25,9 +24,8 @@ else
   libc_cv_mips_tls=no
 fi
 rm -f conftest*])
-if test $libc_cv_mips_tls = yes; then
-  AC_DEFINE(HAVE_TLS_SUPPORT)
-fi
+if test $libc_cv_mips_tls = no; then
+  AC_MSG_ERROR([the assembler must support TLS])
 fi
 
 dnl No MIPS GCC supports accessing static and hidden symbols in an
diff --git a/sysdeps/mips/nptl/tls.h b/sysdeps/mips/nptl/tls.h
index 2a89e34..0f215d4 100644
--- a/sysdeps/mips/nptl/tls.h
+++ b/sysdeps/mips/nptl/tls.h
@@ -56,11 +56,6 @@ typedef union dtv
 #endif /* __ASSEMBLER__ */
 
 
-/* We require TLS support in the tools.  */
-#ifndef HAVE_TLS_SUPPORT
-# error "TLS support is required."
-#endif
-
 #ifndef __ASSEMBLER__
 
 /* Get system call information.  */

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]