[PATCH v3] powerpc/64: Option to use ELF V2 ABI for big-endian kernels

Nicholas Piggin npiggin at gmail.com
Thu May 21 12:23:47 AEST 2020


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:
>> Nicholas Piggin <npiggin at gmail.com> writes:
>> > 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).
> 
>> 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 constant
> 
> What 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


More information about the Linuxppc-dev mailing list