aboutsummaryrefslogtreecommitdiff
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