summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@libc.org>2016-04-25 02:55:51 +0000
committerRich Felker <dalias@libc.org>2016-04-28 20:48:05 +0000
commitd5903a739de38f4af28dd1fe95ec2b7a4d0f2b64 (patch)
treeb3ba48b123960f7622edfc8e9ed71e7071def83f
parent6c144babe16a11a2eb7eb19b7eb6cf3c4c861046 (diff)
downloadlinux-sh-d5903a739de38f4af28dd1fe95ec2b7a4d0f2b64.tar.gz
sh: fix futex/robust_list on nommu models
The futex cmpxchg runtime testing in kernel/futex.c depends on accesses to address 0 producing EFAULT, which obviously does not work on nommu. Since SH always has cmpxchg, disable the broken runtime detection. At some point this should be fixed at the kernel/futex.c level. UP machines can always provide a working cmpxchg with interrupt masking, and SMP cannot function without a working cmpxchg anyway. Signed-off-by: Rich Felker <dalias@libc.org>
-rw-r--r--arch/sh/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 0223e5e1c44f..4fa5894ded1c 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -44,6 +44,7 @@ config SUPERH
select OLD_SIGSUSPEND
select OLD_SIGACTION
select HAVE_ARCH_AUDITSYSCALL
+ select HAVE_FUTEX_CMPXCHG if FUTEX
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast