Revert "powerpc/64s: Remove support for ELFv1 little endian userspace"
authorAndrew Donnellan <ajd@linux.ibm.com>
Wed, 19 Jul 2023 07:18:21 +0000 (17:18 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 19 Jul 2023 11:28:35 +0000 (21:28 +1000)
commit106ea7ffd56b0f9454cd4f625474967f12ac4dbd
tree6bf0f09775be4e50d37761da3450f30b5349b92a
parentccb381e1af1ace292153c88eb1fffa5683d16a20
Revert "powerpc/64s: Remove support for ELFv1 little endian userspace"

This reverts commit 606787fed7268feb256957872586370b56af697a.

ELFv1 with LE has never been a thing, and people who try to make ELFv1 LE
binaries are maniacs who need to be stopped, but unfortunately there are
ELFv1 LE binaries out there in the wild.

One such binary is the ppc64el (as Debian calls it) helper for
arch-test[0], a tool for detecting architectures that can be executed on a
given machine by means of attempting to execute helper binaries compiled
for each architecture and seeing which binaries succeed and fail. The
helpers are small snippets of assembly, and the ppc64el assembly doesn't
include the right directives to generate an ELFv2 binary.

This results in arch-test incorrectly determining that a ppc64el kernel
can't execute a ppc64el userspace, which in turn means that a number of
developer tools such as debootstrap will break (assuming arch-test is
installed).

[0] https://github.com/kilobyte/arch-test

Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230719071821.320594-1-ajd@linux.ibm.com
arch/powerpc/include/asm/elf.h
arch/powerpc/include/asm/thread_info.h