Commit 7c4791c9 authored by Will Deacon's avatar Will Deacon

arm64: Kconfig: Make CONFIG_COMPAT_VDSO a proper Kconfig option

CONFIG_COMPAT_VDSO is defined by passing '-DCONFIG_COMPAT_VDSO' to the
compiler when the generic compat vDSO code is in use. It's much cleaner
and simpler to expose this as a proper Kconfig option (like x86 does),
so do that and remove the bodge.
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent eff9cb67
...@@ -110,7 +110,6 @@ config ARM64 ...@@ -110,7 +110,6 @@ config ARM64
select GENERIC_STRNLEN_USER select GENERIC_STRNLEN_USER
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GENERIC_GETTIMEOFDAY select GENERIC_GETTIMEOFDAY
select GENERIC_COMPAT_VDSO if (!CPU_BIG_ENDIAN && COMPAT && "$(CROSS_COMPILE_COMPAT)" != "")
select HANDLE_DOMAIN_IRQ select HANDLE_DOMAIN_IRQ
select HARDIRQS_SW_RESEND select HARDIRQS_SW_RESEND
select HAVE_PCI select HAVE_PCI
...@@ -1159,7 +1158,7 @@ menuconfig COMPAT ...@@ -1159,7 +1158,7 @@ menuconfig COMPAT
if COMPAT if COMPAT
config KUSER_HELPERS config KUSER_HELPERS
bool "Enable kuser helpers page for 32 bit applications" bool "Enable kuser helpers page for 32-bit applications"
default y default y
help help
Warning: disabling this option may break 32-bit user programs. Warning: disabling this option may break 32-bit user programs.
...@@ -1185,6 +1184,18 @@ config KUSER_HELPERS ...@@ -1185,6 +1184,18 @@ config KUSER_HELPERS
Say N here only if you are absolutely certain that you do not Say N here only if you are absolutely certain that you do not
need these helpers; otherwise, the safe option is to say Y. need these helpers; otherwise, the safe option is to say Y.
config COMPAT_VDSO
bool "Enable vDSO for 32-bit applications"
depends on !CPU_BIG_ENDIAN && "$(CROSS_COMPILE_COMPAT)" != ""
select GENERIC_COMPAT_VDSO
default y
help
Place in the process address space of 32-bit applications an
ELF shared object providing fast implementations of gettimeofday
and clock_gettime.
You must have a 32-bit build of glibc 2.22 or later for programs
to seamlessly take advantage of this.
menuconfig ARMV8_DEPRECATED menuconfig ARMV8_DEPRECATED
bool "Emulate deprecated/obsolete ARMv8 instructions" bool "Emulate deprecated/obsolete ARMv8 instructions"
......
...@@ -53,11 +53,6 @@ $(warning Detected assembler with broken .inst; disassembly will be unreliable) ...@@ -53,11 +53,6 @@ $(warning Detected assembler with broken .inst; disassembly will be unreliable)
endif endif
endif endif
ifeq ($(CONFIG_GENERIC_COMPAT_VDSO), y)
export CONFIG_COMPAT_VDSO := y
compat_vdso := -DCONFIG_COMPAT_VDSO=1
endif
KBUILD_CFLAGS += -mgeneral-regs-only $(lseinstr) $(brokengasinst) \ KBUILD_CFLAGS += -mgeneral-regs-only $(lseinstr) $(brokengasinst) \
$(compat_vdso) $(cc_has_k_constraint) $(compat_vdso) $(cc_has_k_constraint)
KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment