This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: ppc64 vDSO in mainline
- From: Steve Munroe <sjmunroe at us dot ibm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Alan Modra <amodra at bigpond dot net dot au>, Benjamin Herrenschmidt <benh at kernel dot crashing dot org>, Ulrich Drepper <drepper at redhat dot com>, libc-alpha at sources dot redhat dot com, Roland McGrath <roland at redhat dot com>
- Date: Tue, 29 Mar 2005 09:45:40 -0600
- Subject: Re: ppc64 vDSO in mainline
Jakub Jelinek <jakub@redhat.com> wrote on 03/28/2005 11:23:45 PM:
> On Mon, Mar 28, 2005 at 03:59:36PM -0800, Ulrich Drepper wrote:
> > Steve Munroe wrote:
> > >3) a function which is currently
> > >exported by libc , but a better optimized version (with a different
> > >symbol) is also exported by the VDSO.
> >
> > There is no reason to add any complications or dependency problems for
> > this. Just using a pointer in libc itself, a test for NULL and if
not,
> > jump to the function is enough. The penalty for this extra indication
> > if minimal compared to all the other work involved.
>
> Yeah.
>
> Please when thinking about making vDSO symbols directly usable about
> prelink as well. What prelink needs is that all libraries stay at the
> preferred address (otherwise it falls back to doing normal symbol
lookups
> on program start up; but as vDSO is mapped by the kernel, kernel will
not
> know if it should randomize the address or use a fixed one).
> If there are any direct symbol lookups into vDSO, prelink would need
special
> hacks for vDSO and kernel help as it can't rewrite the vDSO even if vDSO
> address was always fixed, but if it is randomized (which is desirable),
> vDSO just makes prelink unusable on ppc*.
>
It sounds like randomization (independent of VDSO) invalidates prelink!
Nothing I proposed implies that prelinking has to be disabled, only that
prelinking has to exclude VDSO (VDSO symbols).
Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center