mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
MIPS: VDSO: Fold MIPS_DISABLE_VDSO into MIPS_GENERIC_GETTIMEOFDAY
The currently used MIPS_DISABLE_VDSO will disable only the userspace bits of the time-related vDSO. The kernel part is still pointlessly built and running. Remove MIPS_DISABLE_VDSO and fold its usecase into MIPS_GENERIC_GETTIMEOFDAY, which works correctly. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Daniel Lezcano <daniel.lezcano@kernel.org> Cc: Thomas Gleixner <tglx@kernel.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-mips@vger.kernel.org Link: https://patch.msgid.link/20260521-vdso-mips-kconfig-v1-7-2f79dcd6c78f@linutronix.de
This commit is contained in:
parent
66e0b2e3e3
commit
51512c216e
|
|
@ -3171,6 +3171,10 @@ config MIPS_GENERIC_GETTIMEOFDAY
|
|||
def_bool y
|
||||
select GENERIC_GETTIMEOFDAY
|
||||
select HAVE_GENERIC_VDSO
|
||||
# GCC (at least up to version 9.2) appears to emit function calls that make use
|
||||
# of the GOT when targeting microMIPS, which we can't use in the VDSO due to
|
||||
# the lack of relocations. As such, we disable the VDSO for microMIPS builds.
|
||||
depends on !CPU_MICROMIPS
|
||||
|
||||
menu "CPU Power Management"
|
||||
|
||||
|
|
@ -3183,5 +3187,3 @@ source "drivers/cpuidle/Kconfig"
|
|||
endmenu
|
||||
|
||||
source "arch/mips/kvm/Kconfig"
|
||||
|
||||
source "arch/mips/vdso/Kconfig"
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
# GCC (at least up to version 9.2) appears to emit function calls that make use
|
||||
# of the GOT when targeting microMIPS, which we can't use in the VDSO due to
|
||||
# the lack of relocations. As such, we disable the VDSO for microMIPS builds.
|
||||
|
||||
config MIPS_DISABLE_VDSO
|
||||
def_bool CPU_MICROMIPS
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
# Include the generic Makefile to check the built vdso.
|
||||
include $(srctree)/lib/vdso/Makefile.include
|
||||
|
||||
obj-vdso-y := elf.o vgettimeofday.o sigreturn.o
|
||||
obj-vdso-y := elf.o sigreturn.o
|
||||
|
||||
# Common compiler flags between ABIs.
|
||||
ccflags-vdso := \
|
||||
|
|
@ -36,6 +36,7 @@ aflags-vdso := $(ccflags-vdso) \
|
|||
-D__ASSEMBLY__ -Wa,-gdwarf-2
|
||||
|
||||
ifneq ($(c-gettimeofday-y),)
|
||||
obj-vdso-y += vgettimeofday.o
|
||||
CFLAGS_vgettimeofday.o = -include $(c-gettimeofday-y)
|
||||
|
||||
# config-n32-o32-env.c prepares the environment to build a 32bit vDSO
|
||||
|
|
@ -47,10 +48,6 @@ endif
|
|||
|
||||
CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE)
|
||||
|
||||
ifdef CONFIG_MIPS_DISABLE_VDSO
|
||||
obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y))
|
||||
endif
|
||||
|
||||
# VDSO linker flags.
|
||||
ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
|
||||
$(filter -E%,$(KBUILD_CFLAGS)) -shared \
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ PHDRS
|
|||
VERSION
|
||||
{
|
||||
LINUX_2.6 {
|
||||
#ifndef CONFIG_MIPS_DISABLE_VDSO
|
||||
#ifdef CONFIG_GENERIC_GETTIMEOFDAY
|
||||
global:
|
||||
__vdso_clock_gettime;
|
||||
#ifdef CONFIG_MIPS_CLOCK_VSYSCALL
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user