Roland Mainz wrote:
> Hi!
> 
> ----
> 
> Is there any document which desocribes how |mmapobj()| is used to share
> shared library mappings between processes ? 

Just the manpage, and source, I think.

mmapobj() is really just an ELF-aware variant of mmap(). It
doesn't bring anything new to the table in that regard.

> Are the mappings always at
> the same place in the process address space ? 

You should not assume so. The kernel is free to use its knowledge
that it is mapping ELF segments, and of the underlying hardware, to
pick optimal addresses, and these details are subject to change.

As I understand it, the whole point of mmapobj(), instead of ld.so.1
calling mmap() as it used to, is to give the kernel that opportunity.
I expect the details to evolve over time.

> Does the kernel reserve
> any address space for such mappings ? Is there any predefined list of
> shared libraries which are "preloaded" (such as always mapping
> libc.so.1) ?

I'm not aware of anything like that. I'm sure others will speak up
if there is.

> 
> ----
> 
> Bye,
> Roland
> 

- Ali

Reply via email to