On Wed, Feb 17, 2010 at 02:31:09PM +0100, Enrico Weigelt wrote: > > 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. > > Where was this thread at? I'm subscribed to gentoo-user, but I don't have any threads about binary formats in my inbox. Was the discussion in another thread (maybe the giant HAL thread)? -- I am a man who does not exist for others.