From: Enrico Weigelt <weigelt@metux.de>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: [9fans] Binary format
Date: Wed, 17 Feb 2010 14:31:09 +0100 [thread overview]
Message-ID: <20100217133109.GA10816@nibiru.local> (raw)
Hi folks,
just curious: which binfmt does Plan9 use ?
How are share libraries handled (if they exist at all) ?
Inspired by recent discussions @ gentoo-user, I'm thinking a bit
how an simple and efficient binfmt could look like. Some key
ideas are:
* purely runtime information (no debug stuff, etc)
* everthing's sharable/relocatable module, with strict dependencies
* on exec() the process image will be constructed the modules along
the dependency tree (the main program as root)
* each module may have an entry point (main module w/o is allowed,
even if it wouldn't make much sense ;-o), these are called after
relocation, along the dependency tree, from leaf to root.
* the whole loader sits in the kernel (maybe w/ some additional
helper deamon in userland), but userland can pass parameters
like search pathes, etc via env.
IMHO having the dynamic loader in kernel-land (in contrary to ELF
on GNU) not just removes the need for lots of syscalls, but allows
a lot of optimizations, eg. code sharing w/ mmap() or caching
relocation data.
cu
--
----------------------------------------------------------------------
Enrico Weigelt, metux IT service -- http://www.metux.de/
phone: +49 36207 519931 email: weigelt@metux.de
mobile: +49 174 7066481 icq: 210169427 skype: nekrad666
----------------------------------------------------------------------
Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------
next reply other threads:[~2010-02-17 13:31 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-17 13:31 Enrico Weigelt [this message]
2010-02-17 8:50 ` Jacob Todd
2010-02-17 13:58 ` Enrico Weigelt
2010-02-17 14:01 ` erik quanstrom
2010-02-17 14:06 ` Gorka Guardiola
2010-02-17 14:13 ` David Leimbach
2010-02-17 14:33 ` Enrico Weigelt
2010-02-17 14:55 ` Steve Simon
2010-02-17 15:04 ` Enrico Weigelt
2010-02-17 15:29 ` erik quanstrom
2010-02-17 15:48 ` blstuart
2010-02-17 17:54 ` lucio
2010-02-17 18:37 ` Lyndon Nerenberg (VE6BBM/VE7TFX)
2010-02-17 19:00 ` Nick LaForge
2010-02-18 15:08 ` Patrick Kelly
2010-02-17 15:58 ` David Leimbach
2010-02-17 16:14 ` Stuart Morrow
2010-02-17 16:28 ` David Leimbach
2010-02-17 18:21 ` Enrico Weigelt
2010-02-17 18:34 ` David Leimbach
2010-02-17 19:02 ` Enrico Weigelt
2010-02-17 19:35 ` Enrico Weigelt
2010-02-17 18:38 ` Corey Thomasson
2010-02-18 15:16 ` Patrick Kelly
2010-02-17 15:13 ` Robert Raschke
2010-02-17 21:32 ` Jacob Todd
2010-02-17 21:26 ` Nathaniel W Filardo
2010-02-17 23:16 ` EBo
2010-02-17 23:22 ` David Leimbach
2010-02-17 14:38 ` blstuart
2010-02-17 14:58 ` Enrico Weigelt
2010-02-17 15:25 ` blstuart
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=20100217133109.GA10816@nibiru.local \
--to=weigelt@metux.de \
--cc=9fans@9fans.net \
/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 NNTP newsgroup(s).