]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
parisc: Fix build failure for 32-bit kernel with PA2.0 instruction set
authorHelge Deller <deller@gmx.de>
Wed, 29 Apr 2026 19:18:25 +0000 (21:18 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 30 Apr 2026 07:10:07 +0000 (09:10 +0200)
The CONFIG_PA11 option can not be used as a reliable check if we build a
32-bit kernel which needs the 32-bit VDSO.
Instead depend on CONFIG_64BIT and CONFIG_COMPAT only.

Reported-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
Tested-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/Makefile
arch/parisc/kernel/Makefile

index edab2a94835255f64f3f0cf8d5924d1b687f0adb..4391783521bd9a13269a6b37db3cce2ca3ee1a19 100644 (file)
@@ -174,15 +174,21 @@ ifeq ($(KBUILD_EXTMOD),)
 # this hack.
 prepare: vdso_prepare
 vdso_prepare: prepare0
-       $(if $(CONFIG_64BIT),$(Q)$(MAKE) \
-               $(build)=arch/parisc/kernel/vdso64 include/generated/vdso64-offsets.h)
-       $(if $(CONFIG_PA11)$(CONFIG_COMPAT),$(Q)$(MAKE) \
+ifdef CONFIG_64BIT
+       $(Q)$(MAKE) $(build)=arch/parisc/kernel/vdso64 include/generated/vdso64-offsets.h
+       $(if $(CONFIG_COMPAT),$(Q)$(MAKE) \
                $(build)=arch/parisc/kernel/vdso32 include/generated/vdso32-offsets.h)
+else
+       $(Q)$(MAKE) $(build)=arch/parisc/kernel/vdso32 include/generated/vdso32-offsets.h
+endif
 endif
 
-vdso-install-$(CONFIG_PA11)    += arch/parisc/kernel/vdso32/vdso32.so
+ifdef CONFIG_64BIT
+vdso-install-y                 += arch/parisc/kernel/vdso64/vdso64.so
 vdso-install-$(CONFIG_COMPAT)  += arch/parisc/kernel/vdso32/vdso32.so
-vdso-install-$(CONFIG_64BIT)   += arch/parisc/kernel/vdso64/vdso64.so
+else
+vdso-install-y                 += arch/parisc/kernel/vdso32/vdso32.so
+endif
 
 install: KBUILD_IMAGE := vmlinux
 zinstall: KBUILD_IMAGE := vmlinuz
index 2f3441769ac543f35eff85e203e16a343a2bf22c..49f937c2abbeb90ec57e7efb4172846b2102e089 100644 (file)
@@ -46,6 +46,9 @@ obj-$(CONFIG_KEXEC_FILE)              += kexec_file.o
 
 # vdso
 obj-y                  += vdso.o
-obj-$(CONFIG_64BIT)    += vdso64/
-obj-$(CONFIG_PA11)     += vdso32/
+ifdef CONFIG_64BIT
+obj-y                  += vdso64/
 obj-$(CONFIG_COMPAT)   += vdso32/
+else
+obj-y                  += vdso32/
+endif