On Wed, Oct 27, 2021 at 20:59:12 -0700, Jason Thorpe wrote:

> > On Oct 27, 2021, at 4:01 PM, Jason Thorpe <thor...@me.com> wrote:
> > 
> > 
> >> On Oct 27, 2021, at 3:44 PM, Valery Ushakov <u...@stderr.spb.ru> wrote:
> >> 
> >> On Wed, Oct 27, 2021 at 07:50:55 -0700, Jason Thorpe wrote:
> >> 
> >> I was wondering if it might be easier to not put the onus onto the
> >> caller and instead have a function that returns the interrupted
> >> ucontext (or NULL, if the pc is not in a trampoline).
> >> 
> >> ucontext_t *__unwind_sigtramp(return_pc, return_sp)
> > 
> > That would certainly be a nicer API.
> 
> Thought about it a little more.
> 
> To make this really work, we'd definitely have to version
> sigaction() so that it fully de-supported sigcontext handlers.
> Otherwise, it's a toss-up whether you have a sigcontext or a
> ucontext on the stack.

It is ucontext for the siginfo trampoline and sigcontext for the older
one, isn't it?


> I also see some value in the basic check (which you need to have to
> __sigtramp_unwind() anyway?).

You need internally, obviously, but the only useful thing you can do
with it is get the interrupted context that the trampoline would
restore.  Or do I miss something here (which is entirely possible, as
I'm writing all these remarks from fading memories of implementing the
trampolines for sh3).

-uwe

Reply via email to