Messages in this thread | | | Date | Thu, 22 Aug 2019 12:00:50 +0100 | From | Dave Martin <> | Subject | ELF NT_GNU_PROPERTY_TYPE_0 Questions |
| |
Hi there,
Can you clarify a couple of points about the SysV ABI Linux Extensions [1] for me?
1) Can there be more than one NT_GNU_PROPERTY_TYPE_0 note in a valid ELF file? I think the answer should be "no".
2) Is is permissible for an ELF ET_EXEC or ET_DYN file that contains an NT_GNU_PROPERTY_TYPE_0 property not to have a PT_GNU_PROPERTY phdrs entry mapping it? Except for historical usage by RedHat (which apparently can be worked round in userspace) it seems reasonable for the answer to be "no", at least for Linux.
3) Is it permissible for the PT_GNU_PROPERTY phdr (if present) to map anything other than precisely one NT_GNU_PROPERTY_TYPE_0 note? I think the answer should be "no".
4) Is an NT_GNU_PROPERTY_TYPE_0 note allowed to contain two or more properties with the same pr_type? I think the answer should be "no".
5) What's the rationale for sorting the properties by pr_type? I can see this would make it easier for the linker to merge NT_GNU_PROPERTY_TYPE_0 notes from different files, but I'm wondering whether the kernel really needs to enforce the ordering when loading an ELF. The kernel doesn't need to merge property lists together.
6) Do you have a view on the best way to define the Elf_Prop type in headers? bfd elf-bfd.h seems to have elf_property, but this doesn't follow the style of the public ELF headers.
Maybe Linux should keep its definition internal rather than publishing it in include/uapi/elf.h... I'm not sure.
Thanks ---Dave
[1] Linux Extensions to gABI https://github.com/hjl-tools/linux-abi/wiki/Linux-Extensions-to-gABI
| |