[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gABI extension proposal: PT_SHMMAP



Please add it under PF_MASKOS range similar to other existing flags like
PF_MIPS_*, PF_HP_*, etc. May be something like PF_GNU_SHARED.



--
Supra

On 02-Jun-2017 01:08 AM, hpa@zytor.com wrote:
> On June 1, 2017 12:15:52 PM PDT, Cary Coutant <ccoutant@gmail.com> wrote:
>>> I would like to propose an extension to the ELF gABI, which is
>> analogous
>>> to PT_LOAD except that it requests that the underlying file be
>>> memory-mapped with MAP_SHARED, rather than MAP_PRIVATE as used for
>>> PT_LOAD.  PT_SHARED or PT_SHLOAD would be other possible names.
>>>
>>> The main motivation for this is to allow the Linux kernel vDSO to
>>> finally become as close to an "ordinary" ELF DSO as is possible.  The
>>> vDSO depends on having its kernel-provided data page(s) at a specific
>>> offset from the vDSO code; this is currently done by ad hoc memory
>>> areas, which has a number of problems, especially for mixed-mode
>> programs.
>>>
>>> The idea is to convert the vdso to a proper file in one of the
>>> kernel-provided filesystems (e.g. /proc or /sys); by defining this
>> type,
>>> an ELF parser would be able to create the appropriate mappings
>> without
>>> any ad hoc code.
>>>
>>> This may be usable for other operating systems or perhaps even in
>>> userspace.  However, if there is no such interest then it would be
>>> possible for Linux to use one of the PT_*OS constants; however, I
>>> generally believe it is better to try to be as inclusive as possible.
>>
>> I'd prefer not to add a new PT_ value that, for the most part, means
>> the same thing as PT_LOAD. It would be more appropriate to use a
>> PT_LOAD segment with a new p_flag value, say PF_SHARED. Would that
>> work?
>>
>> -cary
> 
> That would work fine, and it does indeed probably make more sense.
>