Re: x86_64: vsyscall vs vdso

From: Mikael Pettersson
Date: Tue Sep 18 2007 - 04:32:06 EST


Francis Moreau writes:
> On 9/17/07, Ulrich Drepper <drepper@xxxxxxxxx> wrote:
> > On 9/17/07, Francis Moreau <francis.moro@xxxxxxxxx> wrote:
> > > I think signal trampolines will still need them too. So making
> > > vsyscalls configurable doesn't seem to work, does it ?
> >
> > vsyscalls aren't used for that. We have a restorer in libc and could
> > easily use one in the vdso. That's what is done on x86.
> >
>
> Sorry for my ignorance but what' is 'a restorer' ?

When the kernel sets up the context for a user-space signal
handler, it needs to supply a return address (in a register
or on the stack). That's the restorer. The restorer points
to a stub that performs sys_{rt_,}sigreturn(). Depending on
architecture and kernel version, the restorer stub can be
defined by libc, or be provided automatically by the kernel.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/