]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/32: Don't always pass -mcpu=powerpc to the compiler
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 11 Jul 2022 14:19:30 +0000 (16:19 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 27 Jul 2022 11:36:06 +0000 (21:36 +1000)
commit41325cbe09650d6c4d8b2ac359dd365f2de65438
treedde0d63b5a96bc29aa017a8281b50240d13f86d2
parentb85ea0a947dca83d731197a576e020d05f6015fe
powerpc/32: Don't always pass -mcpu=powerpc to the compiler

Since commit 418f8b77bcd2 ("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
arch/powerpc/Makefile
arch/powerpc/platforms/Kconfig.cputype