blob: b8c8a7258788976ffabb0b034469037751c18ae1 [file] [log] [blame]
From a0919e3177295f4aaa9006915adcddc31788d809 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 26 Dec 2018 00:00:40 +0000
Subject: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler
GCC for Debian's "powerpcspe" architecture only supports 32-bit
SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal
error.
* Change the test for a biarch compiler to pass both the -m32 and -m64
options, so that it doesn't catch 32-bit-only compilers
* Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
[Romain: Patch from Debian repository:
https://salsa.debian.org/kernel-team/linux/-/blob/buster/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
arch/powerpc/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 5c8c06215dd4..e3dbea6d7ae0 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -12,7 +12,7 @@
# Rewritten by Cort Dougan and Paul Mackerras
#
-HAS_BIARCH := $(call cc-option-yn, -m32)
+HAS_BIARCH := $(call cc-option-yn, -m32 -m64)
# Set default 32 bits cross compilers for vdso and boot wrapper
CROSS32_COMPILE ?=
@@ -164,6 +164,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD))
CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)
+ifdef CONFIG_PPC64
ifdef CONFIG_PPC_BOOK3S_64
ifdef CONFIG_CPU_LITTLE_ENDIAN
CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
@@ -175,6 +176,7 @@ endif
else
CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
endif
+endif
ifdef CONFIG_FUNCTION_TRACER
CC_FLAGS_FTRACE := -pg
--
2.17.1