2009-09-27 Aurelien Jarno * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SET_ROBUST_LIST): Update per-arch conditions when each feature was introduced. (__ASSUME_FUTEX_LOCK_PI): Ditto. diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 29afe27..edbe250 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -454,16 +454,28 @@ # define __ASSUME_ATFCTS 1 #endif -/* Support for inter-process robust mutexes was added in 2.6.17. */ -#if __LINUX_KERNEL_VERSION >= 0x020611 \ - && ((!defined __sh__ && !defined __alpha__) \ - || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __sh__) \ - || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __alpha__)) +/* Support for inter-process robust mutexes was added in 2.6.17 on i386, + powerpc and s390. It was added in 2.6.18 on s390 and sparc64, 2.6.19 on + ia64 and 2.6.23 on sh. */ +#if (__LINUX_KERNEL_VERSION >= 0x020611 && defined __i386__) \ + || (__LINUX_KERNEL_VERSION >= 0x020611 && defined __powerpc__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __s390__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __sparc__ && __arch64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020611 && defined __x86_64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __ia64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __sh__) # define __ASSUME_SET_ROBUST_LIST 1 #endif -/* Support for PI futexes was added in 2.6.18. */ -#if __LINUX_KERNEL_VERSION >= 0x020612 +/* Support for PI futexes was added in 2.6.18 on i386, powerpc, s390, sparc64 + x86_64. It was added in 2.6.19 on ia64 and in 2.6.23 on sh. */ +#if (__LINUX_KERNEL_VERSION >= 0x020612 && defined __i386__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __powerpc__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __s390__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __sparc__ && __arch64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020612 && defined __x86_64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020613 && defined __ia64__) \ + || (__LINUX_KERNEL_VERSION >= 0x020617 && defined __sh__) # define __ASSUME_FUTEX_LOCK_PI 1 #endif