diff options
author | Gratian Crisan <gratian.crisan@ni.com> | 2014-10-27 22:45:43 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-10-27 22:45:43 +0000 |
commit | 03d41216fe09fc71a2750946af8fe2892bf4feb5 (patch) | |
tree | ae838a6041d628e440af1903b7b3bb6ba117e5ad | |
parent | a4b3624d20e90e8255fb82a83ff40e9e178e0aef (diff) | |
download | glibc-03d41216fe09fc71a2750946af8fe2892bf4feb5.zip glibc-03d41216fe09fc71a2750946af8fe2892bf4feb5.tar.gz glibc-03d41216fe09fc71a2750946af8fe2892bf4feb5.tar.bz2 |
arm: Re-enable PI futex support for ARM kernels >= 3.14.3
ARM linux kernels before 3.14.3 may or may not support
futex_atomic_cmpxchg_inatomic depending on the kernel configuration (e.g.
CONFIG_CPU_USE_DOMAINS && CONFIG_SMP configuration was not supported)
Starting with 3.14.3 the linux kernel unconditionally enables support for
ARM, and this re-enables the relevant __ASSUME_* macros.
Tested on ARM both with kernels >= 3.14.3 and older kernels.
* sysdeps/unix/sysv/linux/arm/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_FUTEX_LOCK_PI): Do
not undefine.
[__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_REQUEUE_PI):
Likewise.
[__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_SET_ROBUST_LIST):
Likewise.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/kernel-features.h | 10 |
2 files changed, 16 insertions, 4 deletions
@@ -1,3 +1,13 @@ +2014-10-27 Gratian Crisan <gratian.crisan@ni.com> + + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_FUTEX_LOCK_PI): Do + not undefine. + [__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_REQUEUE_PI): + Likewise. + [__LINUX_KERNEL_VERSION >= 0x030E03] (__ASSUME_SET_ROBUST_LIST): + Likewise. + 2014-10-27 Joseph Myers <joseph@codesourcery.com> [BZ #14138] diff --git a/sysdeps/unix/sysv/linux/arm/kernel-features.h b/sysdeps/unix/sysv/linux/arm/kernel-features.h index e755741..84d9e9d 100644 --- a/sysdeps/unix/sysv/linux/arm/kernel-features.h +++ b/sysdeps/unix/sysv/linux/arm/kernel-features.h @@ -34,9 +34,11 @@ #include_next <kernel-features.h> -/* The ARM kernel may or may not support +/* The ARM kernel before 3.14.3 may or may not support futex_atomic_cmpxchg_inatomic, depending on kernel configuration. */ -#undef __ASSUME_FUTEX_LOCK_PI -#undef __ASSUME_REQUEUE_PI -#undef __ASSUME_SET_ROBUST_LIST +#if __LINUX_KERNEL_VERSION < 0x030E03 +# undef __ASSUME_FUTEX_LOCK_PI +# undef __ASSUME_REQUEUE_PI +# undef __ASSUME_SET_ROBUST_LIST +#endif |