This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: feasibility of modifying Linux ld-linux.so to identify which mapped files are shared libraries


On Wed, May 11, 2005 at 09:44:59PM -0500, Ray Bryant wrote:
> What kind of interface do you have in mind here?  I was thinking
> along the lines of using a program to set some special bits (or add
> a special section) to the elf header indicating that a corresponding
> bit needed to be passed into mmap/madvise when the segment was
> mapped into memory by the dynamic loader.

Yep, that's what I understood you to mean.

I don't have access to HP-UX, but I believe they have 'chatr' which
sounds like what you are talking about.  It modifies the program
header to, at least, set page size hints [1].  I imagine it can do
much more too.  I've never heard of anything similar for Linux.

> Can you fit into such a scheme or do you need a more general
> capability?  (It sounds as if you might want to execute an arbitrary
> function at ld.so time for each ELF segment, but that goes a bit
> beyond the scope of what I was thinking.)

I don't need to do something per-segment, but someone might?  I was
thinking of it as basically a config file stuck into an ELF section,
and then you extended ld.so for for each hint (I'm calling them hints
because I imagine everything will work without them, but with lower
performance).  So when lock_code is set ld.so knows to add MAP_LOCK to
its flags, or whatever.

The only other approach I thought of is something like IRIX policies,
where you specify certain policies for a VM area and then do a system
call to tell the kernel about it.  ld doesn't need to know about that
at all; I guess you could lock your libraries with some sort of
wrapper and dl_iterate_phdr or something (do you know how IRIX does
it?).  It might fit into libnuma in some way, but it generally sounds
messy.

-i

[1] Implementation of Multiple Pagesize Support in HP-UX
    USENIX, 98
    Indira Subramanian, Cliff Mather, Kurt Peterson, and Balakirshna Raghunath

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]