[PATCH v2] powerpc/64: BE option to use ELFv2 ABI for big endian kernels

Michael Ellerman mpe at ellerman.id.au
Tue May 4 22:15:34 AEST 2021


Segher Boessenkool <segher at kernel.crashing.org> writes:
> On Mon, May 03, 2021 at 10:51:41AM +1000, Nicholas Piggin wrote:
>> Excerpts from Segher Boessenkool's message of May 3, 2021 3:55 am:
>> > On Wed, Apr 29, 2020 at 10:57:16AM +1000, Nicholas Piggin wrote:
>> >> Excerpts from Segher Boessenkool's message of April 29, 2020 9:40 am:
>> >> I blame toolchain for -mabi=elfv2 ! And also some blame on ABI document 
>> >> which is called ELF V2 ABI rather than ELF ABI V2 which would have been 
>> >> unambiguous.
>> > 
>> > At least ELFv2 ABI is correct.  "ELF ABI v2" is not.
>> > 
>> >> I can go through and change all my stuff and config options to ELF_ABI_v2.
>> > 
>> > Please don't.  It is wrong.
>> 
>> Then I'm not sure what the point of your previous mail was, what did I 
>> miss?
>
> I asked if you could make it clearer to people who do not know what this
> is whether they want to use it.  Or that was my intention, anyhow :-/
>
>> > Both the original PowerPC ELF ABI and the
>> > ELFv2 one have versions themselves.  Also, the base ELF standard has a
>> > version, and is set up so there can be incompatible versions even!  Of
>> > course it still is version 1 to this day, but :-)
>> 
>> The point was for people who don't know ELFv2 has a specific meaning for 
>> powerpc,
>
> It does not have *any* meaning outside of Power.  But people who do not
> know what it is can assume the wrong things about it.  It isn't a great
> name because of that :-(
>
> (It's not as bad as the MIPS ABIs -- an older one is called "new" :-) )
>
>> then ELF ABIv2 is more explanatory about it being an abi change
>> rather than base elf change, even if it's not the "correct" name.
>
> I very much disagree.  "ELF ABIv2" is completely meaningless.

Except:

$ readelf -h /bin/true
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           PowerPC64
  Version:                           0x1
  Entry point address:               0x1990
  Start of program headers:          64 (bytes into file)
  Start of section headers:          66176 (bytes into file)
  Flags:                             0x2, abiv2
                                          ^^^^^

:)

cheers


More information about the Linuxppc-dev mailing list