OSDN Git Service

powerpc/64: Option to build big-endian with ELFv2 ABI
authorNicholas Piggin <npiggin@gmail.com>
Mon, 28 Nov 2022 04:15:39 +0000 (14:15 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 2 Dec 2022 06:54:07 +0000 (17:54 +1100)
commit5017b45946722bdd20ac255c9ae7273b78d1f12e
treedc757f1286ffb73a54354b3ca5007edcc5c48285
parent505ea33089dcfc3ee3201b0fcb94751165805413
powerpc/64: Option to build big-endian with ELFv2 ABI

Provide an option to build big-endian kernels using the ELFv2 ABI. This
works on GCC only for now. Clang is rumored to support this, but core
build files need updating first, at least.

This gives big-endian kernels useful advantages of the ELFv2 ABI, e.g.,
less stack usage, -mprofile-kernel support, better compatibility with
eBPF tools.

BE+ELFv2 is not officially supported by the GNU toolchain, but it works
fine in testing and has been used by some userspace for some time (e.g.,
Void Linux).

Tested-by: Michal Suchánek <msuchanek@suse.de>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221128041539.1742489-5-npiggin@gmail.com
arch/powerpc/Kconfig
arch/powerpc/platforms/Kconfig.cputype