OSDN Git Service

powerpc/kbuild: Set default generic machine type for 32-bit compile
authorNicholas Piggin <npiggin@gmail.com>
Wed, 30 May 2018 12:19:19 +0000 (22:19 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 1 Jun 2018 13:08:03 +0000 (23:08 +1000)
commit4bf4f42a2febb449a5cc5d79e7c58e5b168942d7
treeb90f527c27de466297efb79951b5922b1e9799fc
parent6da6c0db5316275015e8cc2959f12a17584aeb64
powerpc/kbuild: Set default generic machine type for 32-bit compile

Some 64-bit toolchains uses the wrong ISA variant for compiling 32-bit
kernels, even with -m32. Debian's powerpc64le is one such case, and
that is because it is built with --with-cpu=power8.

So when cross compiling a 32-bit kernel with a 64-bit toolchain, set
-mcpu=powerpc initially, which is the generic 32-bit powerpc machine
type and scheduling model. CPU and platform code can override this
with subsequent -mcpu flags if necessary.

This is not done for 32-bit toolchains otherwise it would override
their defaults, which are presumably set appropriately for the
environment (moreso than a 64-bit cross compiler).

This fixes a lot of build failures due to incompatible assembly when
compiling 32-bit kernel with the Debian powerpc64le 64-bit toolchain.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Makefile