linux-mips
[Top] [All Lists]

Re: 64-bit and N32 kernel interfaces

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: 64-bit and N32 kernel interfaces
From: Jay Carlson <nop@nop.com>
Date: Mon, 9 Sep 2002 15:20:36 -0500 (CDT)
Cc: linux-mips@linux-mips.org
In-reply-to: <20020904155645.A31893@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
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


<Prev in Thread] Current Thread [Next in Thread>