android_kernel_xiaomi_sm8350/arch/powerpc/platforms
Christophe Leroy f4159834d1 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
[ Upstream commit 446cda1b21d9a6b3697fe399c6a3a00ff4a285f5 ]

Since commit 4bf4f42a2f ("powerpc/kbuild: Set default generic
machine type for 32-bit compile"), when building a 32 bits kernel
with a bi-arch version of GCC, or when building a book3s/32 kernel,
the option -mcpu=powerpc is passed to GCC at all time, relying on it
being eventually overriden by a subsequent -mcpu=xxxx.

But when building the same kernel with a 32 bits only version of GCC,
that is not done, relying on gcc being built with the expected default
CPU.

This logic has two problems. First, it is a bit fragile to rely on
whether the GCC version is bi-arch or not, because today we can have
bi-arch versions of GCC configured with a 32 bits default. Second,
there are some versions of GCC which don't support -mcpu=powerpc,
for instance for e500 SPE-only versions.

So, stop relying on this approximative logic and allow the user to
decide whether he/she wants to use the toolchain's default CPU or if
he/she wants to set one, and allow only possible CPUs based on the
selected target.

Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Tested-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d4df724691351531bf46d685d654689e5dfa0d74.1657549153.git.christophe.leroy@csgroup.eu
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-25 11:18:37 +02:00
..
4xx powerpc/4xx/cpm: Fix return value of __setup() handler 2022-06-14 18:11:41 +02:00
8xx powerpc/8xx: export 'cpm_setbrg' for modules 2022-06-14 18:11:41 +02:00
40x
44x
52xx
82xx
83xx
85xx
86xx
512x
amigaone
cell powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address 2022-08-25 11:18:07 +02:00
chrp
embedded6xx
maple
pasemi
powermac powerpc/mm: Switch obsolete dssall to .long 2022-06-22 14:11:24 +02:00
powernv powerpc/powernv: Avoid crashing if rng is NULL 2022-08-25 11:17:26 +02:00
ps3
pseries powerpc/pseries: wire up rng during setup_arch() 2022-06-29 08:58:50 +02:00
fsl_uli1575.c
Kconfig
Kconfig.cputype powerpc/32: Don't always pass -mcpu=powerpc to the compiler 2022-08-25 11:18:37 +02:00
Makefile