summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRich Felker <dalias@libc.org>2016-07-15 05:46:52 +0200
committerRich Felker <dalias@libc.org>2016-07-31 05:33:32 +0200
commit72cc564f16ca9f61a1d13f35cb247631d888a78e (patch)
treecb988c15311990065e9c71a9890c5cc448caefdb /arch
parentsh: disable aliased page logic on NOMMU models (diff)
downloadlinux-72cc564f16ca9f61a1d13f35cb247631d888a78e.tar.xz
linux-72cc564f16ca9f61a1d13f35cb247631d888a78e.zip
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index ceeda5c1a70a..e6d88f9e978a 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -45,6 +45,7 @@ config SUPERH
select OLD_SIGSUSPEND
select OLD_SIGACTION
select HAVE_ARCH_AUDITSYSCALL
+ select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_NMI
help
The SuperH is a RISC processor targeted for use in embedded systems