Subject: arch defaults add placeholder futex_atomic_cmpxchg_inatomic() implementations to every architecture that supports futexes. It returns -ENOSYS. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper ---- include/asm-frv/futex.h | 6 ++++++ include/asm-generic/futex.h | 6 ++++++ include/asm-i386/futex.h | 6 ++++++ include/asm-mips/futex.h | 6 ++++++ include/asm-powerpc/futex.h | 6 ++++++ include/asm-x86_64/futex.h | 6 ++++++ 6 files changed, 36 insertions(+) Index: linux-futex.q/include/asm-frv/futex.h =================================================================== --- linux-futex.q.orig/include/asm-frv/futex.h +++ linux-futex.q/include/asm-frv/futex.h @@ -9,5 +9,11 @@ extern int futex_atomic_op_inuser(int encoded_op, int __user *uaddr); +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif #endif Index: linux-futex.q/include/asm-generic/futex.h =================================================================== --- linux-futex.q.orig/include/asm-generic/futex.h +++ linux-futex.q/include/asm-generic/futex.h @@ -49,5 +49,11 @@ futex_atomic_op_inuser (int encoded_op, return ret; } +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif #endif Index: linux-futex.q/include/asm-i386/futex.h =================================================================== --- linux-futex.q.orig/include/asm-i386/futex.h +++ linux-futex.q/include/asm-i386/futex.h @@ -104,5 +104,11 @@ futex_atomic_op_inuser (int encoded_op, return ret; } +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif #endif Index: linux-futex.q/include/asm-mips/futex.h =================================================================== --- linux-futex.q.orig/include/asm-mips/futex.h +++ linux-futex.q/include/asm-mips/futex.h @@ -99,5 +99,11 @@ futex_atomic_op_inuser (int encoded_op, return ret; } +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif #endif Index: linux-futex.q/include/asm-powerpc/futex.h =================================================================== --- linux-futex.q.orig/include/asm-powerpc/futex.h +++ linux-futex.q/include/asm-powerpc/futex.h @@ -81,5 +81,11 @@ static inline int futex_atomic_op_inuser return ret; } +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_FUTEX_H */ Index: linux-futex.q/include/asm-x86_64/futex.h =================================================================== --- linux-futex.q.orig/include/asm-x86_64/futex.h +++ linux-futex.q/include/asm-x86_64/futex.h @@ -94,5 +94,11 @@ futex_atomic_op_inuser (int encoded_op, return ret; } +static inline int +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) +{ + return -ENOSYS; +} + #endif #endif