Re: [PATCH v7 22/27] binfmt_elf: Extract .note.gnu.property from an ELF file
flat view
From: Dave Martin <Dave.Martin@arm.com>
Date: 2019-06-18 13:32:34
Also in:
linux-arch, linux-doc, linux-mm, lkml
On Tue, Jun 18, 2019 at 02:55:12PM +0200, Peter Zijlstra wrote:
On Tue, Jun 18, 2019 at 02:47:00PM +0200, Florian Weimer wrote:quoted
* Peter Zijlstra:quoted
I'm not sure I read Thomas' comment like that. In my reading keeping the PT_NOTE fallback is exactly one of those 'fly workarounds'. By not supporting PT_NOTE only the 'fine' people already shit^Hpping this out of tree are affected, and we don't have to care about them at all.Just to be clear here: There was an ABI document that required PT_NOTE parsing.URGH.quoted
The Linux kernel does *not* define the x86-64 ABI, it only implements it. The authoritative source should be the ABI document. In this particularly case, so far anyone implementing this ABI extension tried to provide value by changing it, sometimes successfully. Which makes me wonder why we even bother to mainatain ABI documentation. The kernel is just very late to the party.How can the kernel be late to the party if all of this is spinning wheels without kernel support?
PT_GNU_PROPERTY is mentioned and allocated a p_type value in hjl's spec [1], but otherwise seems underspecified. In particular, it's not clear whether a PT_GNU_PROPERTY phdr _must_ be emitted for NT_GNU_PROPERTY_TYPE_0. While it seems a no-brainer to emit it, RHEL's linker already doesn't IIUC, and there are binaries in the wild. Maybe this phdr type is a late addition -- I haven't attempted to dig through the history. For arm64 we don't have this out-of-tree legacy to support, so we can avoid exhausitvely searching for the note: no PT_GNU_PROPERTY -> no note. So, can we do the same for x86, forcing RHEL to carry some code out of tree to support their legacy binaries? Or do we accept that there is already a de facto ABI and try to be compatible with it?
From my side, I want to avoid duplication between x86 and arm64, and
keep unneeded complexity out of the ELF loader where possible. Cheers ---Dave [1] https://github.com/hjl-tools/linux-abi/wiki/Linux-Extensions-to-gABI