public inbox for gnu-gabi@sourceware.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: gnu-gabi@sourceware.org
Subject: gABI extension proposal: PT_SHMMAP
Date: Sun, 01 Jan 2017 00:00:00 -0000	[thread overview]
Message-ID: <5d71c4e4-19d2-3861-e212-5e86d29c53fc@zytor.com> (raw)

Hello,

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.

	-hpa

             reply	other threads:[~2017-05-31 21:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-01  0:00 H. Peter Anvin [this message]
2017-01-01  0:00 ` Cary Coutant
2017-01-01  0:00   ` hpa
2017-01-01  0:00     ` Suprateeka R Hegde
2017-01-01  0:00       ` H. Peter Anvin
2017-01-01  0:00 ` James Y Knight via gnu-gabi
2017-01-01  0:00   ` Cary Coutant
2017-01-01  0:00     ` Suprateeka R Hegde
2017-01-01  0:00       ` H. Peter Anvin
2017-01-01  0:00         ` Suprateeka R Hegde
2017-01-01  0:00     ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d71c4e4-19d2-3861-e212-5e86d29c53fc@zytor.com \
    --to=hpa@zytor.com \
    --cc=gnu-gabi@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).