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 * 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