arch/mips/Kconfig | 6 ++++-- arch/mips/vdso/Kconfig | 6 ------ arch/mips/vdso/Makefile | 7 ++----- arch/mips/vdso/vdso.lds.S | 2 +- 4 files changed, 7 insertions(+), 14 deletions(-) delete mode 100644 arch/mips/vdso/Kconfig
The following commit has been merged into the timers/vdso branch of tip:
Commit-ID: 2db1ec80dfd5f9f1200acc90ec04a9c8ea47701a
Gitweb: https://git.kernel.org/tip/2db1ec80dfd5f9f1200acc90ec04a9c8ea47701a
Author: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
AuthorDate: Thu, 21 May 2026 08:53:21 +02:00
Committer: Thomas Gleixner <tglx@kernel.org>
CommitterDate: Thu, 04 Jun 2026 18:22:46 +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
---
arch/mips/Kconfig | 6 ++++--
arch/mips/vdso/Kconfig | 6 ------
arch/mips/vdso/Makefile | 7 ++-----
arch/mips/vdso/vdso.lds.S | 2 +-
4 files changed, 7 insertions(+), 14 deletions(-)
delete mode 100644 arch/mips/vdso/Kconfig
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index f56e1a5..6463b0b 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -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"
diff --git a/arch/mips/vdso/Kconfig b/arch/mips/vdso/Kconfig
deleted file mode 100644
index 7014024..0000000
--- a/arch/mips/vdso/Kconfig
+++ /dev/null
@@ -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
diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
index 69d4593..00d3ba2 100644
--- a/arch/mips/vdso/Makefile
+++ b/arch/mips/vdso/Makefile
@@ -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 \
diff --git a/arch/mips/vdso/vdso.lds.S b/arch/mips/vdso/vdso.lds.S
index 5d08be3..fd263b0 100644
--- a/arch/mips/vdso/vdso.lds.S
+++ b/arch/mips/vdso/vdso.lds.S
@@ -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
© 2016 - 2026 Red Hat, Inc.