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

Re: gABI extension proposal: PT_SHMMAP



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.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.