Re: [PATCH v3] powerpc/64: Option to use ELF V2 ABI for big-endian kernels
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2020-05-21 02:25:55
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2020-05-21 02:25:55
Excerpts from Segher Boessenkool's message of May 18, 2020 10:19 pm:
Hi! On Mon, May 18, 2020 at 04:35:22PM +1000, Michael Ellerman wrote:quoted
Nicholas Piggin [off-list ref] writes:quoted
Provide an option to build big-endian kernels using the ELF V2 ABI. This works on GCC and clang (since about 2014). it is is not officially supported by the GNU toolchain, but it can give big-endian kernels some useful advantages of the V2 ABI (e.g., less stack usage).quoted
This doesn't build with clang: /tmp/aesp8-ppc-dad624.s: Assembler messages: /tmp/aesp8-ppc-dad624.s: Error: .size expression for aes_p8_set_encrypt_key does not evaluate to a constantWhat does this assembler code that clang doesn't swallow look like? Is that valid code? Etc.
The .size directive calculation is .text - .opd because the preprocessor isn't passing -mabi=elfv2 which makes our _GLOBAL function entry macro use the v1 convention. I guess I got the 64-bit vdso wrong as well, it should remain in ELFv1. Thanks, Nick