Commit e6a650ac authored by Helge Deller's avatar Helge Deller
Browse files

parisc: Fix build failure for 32-bit kernel with PA2.0 instruction set



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: default avatarChristoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
Tested-by: default avatarChristoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent b8425cee
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -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
+5 −2
Original line number Diff line number Diff line
@@ -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