diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-05-19 16:35:56 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-05-30 11:56:14 +0100 |
commit | 1515b186c2359996b50241c1c6f79ff933d5112a (patch) | |
tree | ef5d9314b0addfdfc1fcd939c4dd02206d551596 /arch/arm/mm/Kconfig | |
parent | 801f19b9515fb61e8b2400f5555460f55f22571c (diff) | |
download | linux-1515b186c2359996b50241c1c6f79ff933d5112a.tar.gz linux-1515b186c2359996b50241c1c6f79ff933d5112a.tar.bz2 linux-1515b186c2359996b50241c1c6f79ff933d5112a.zip |
ARM: make configuration of userspace Thumb support an expert option
David Mosberger reports random segfaults and other problems when running
his buildroot userspace. It turns out that his kernel did not have
support for Thumb userspace, nor did his application, but glibc made use
of Thumb instructions in glibc.
The kernel Thumb support option already recommends being enabled, and
is also so biased, but clearly this is not enough of a recommendation.
So, hide this behind CONFIG_EXPERT as well, and include a note to
indicate the potential issues if it's turned off and userspace Thumb
mode is made use of.
Reported-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r-- | arch/arm/mm/Kconfig | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index c6c4c9c8824b..4f68659abe6c 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -679,7 +679,7 @@ config ARCH_DMA_ADDR_T_64BIT bool config ARM_THUMB - bool "Support Thumb user binaries" if !CPU_THUMBONLY + bool "Support Thumb user binaries" if !CPU_THUMBONLY && EXPERT depends on CPU_THUMB_CAPABLE default y help @@ -690,6 +690,10 @@ config ARM_THUMB instruction set resulting in smaller binaries at the expense of slightly less efficient code. + If this option is disabled, and you run userspace that switches to + Thumb mode, signal handling will not work correctly, resulting in + segmentation faults or illegal instruction aborts. + If you don't know what this all is, saying Y is a safe choice. config ARM_THUMBEE |