about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--linuxthreads/sysdeps/i386/i686/pt-machine.h5
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h5
3 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b8eea68c58..9ad63a3dca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* intl/Makefile: Run gettext-test only if msgfmt is available.
 
+	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_LDT_WORKS):
+	Define it for newer kernels.
+
 2000-05-23  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/dl-sym.c: Minor cleanups.
diff --git a/linuxthreads/sysdeps/i386/i686/pt-machine.h b/linuxthreads/sysdeps/i386/i686/pt-machine.h
index 68e7871a62..cf075f312a 100644
--- a/linuxthreads/sysdeps/i386/i686/pt-machine.h
+++ b/linuxthreads/sysdeps/i386/i686/pt-machine.h
@@ -22,7 +22,7 @@
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
-
+#include "kernel-features.h"
 
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
@@ -62,5 +62,6 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
   return ret;
 }
 
-
+#if __ASSUME_LDT_WORKS > 0
 #include "../useldt.h"
+#endif
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index b799a33cb9..babeab56a4 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -117,3 +117,8 @@
 #  define __ASSUME_SETRESUID_SYSCALL	1
 # endif
 #endif
+
+/* We can use the LDTs for threading with Linux 2.3.99 and newer.  */
+#if __LINUX_KERNEL_VERSION >= 131939
+# define __ASSUME_LDT_WORKS		1
+#endif