On Wed, 4 Sep 2002, Ralf Baechle wrote: > #define __NR_uselib (__NR_Linux + 86) > > a.out support. Do we really want that. Well, it's support for Linux-a.out-style shared libraries, which are actually binary-format independent. Quick summary of how they work in ELF: The file argument to uselib must have 1 or 2 program headers. Exactly one of them must be PT_LOAD. That segment is loaded at the fixed virtual address specified in in the header. It's marked readable, writable, executable, and any BSS region is zeroed. I contemplated using uselib(2) in snow and decided that I wanted multiple segments to support text and rodata being read-only. I figured that attempting to communicate the read-only nature of the maps to the VM could elicit more efficient behavior. Anyway, now that we have ELF interpreters you can get one library loaded into core for you by the kernel. That library can define a more reasonable version of uselib in userspace... I guess my point is that even the tiny set of people doing statically linked shared libraries will probably avoid this syscall. Jay