On Thu, Jun 5, 2008 at 9:31 AM, David Mosberger-Tang <[EMAIL PROTECTED]>
wrote:

>
> >  However, for callers who just want to examine the stack, this could
> >  potentially be eliminated. Currently there is no way for the caller to
> >  express the intent at unw_getcontext() time. Looking at some of the
> >  other archs which have a hand coded getcontext.S (ia64, arm etc) - I
> >  don't see any calls to sigprocmask. Does this mean that
> >  Ltest-resume-sig is failing on those archs?
>
> I don't know about ARM, but I have never seen Ltest-resume-sig fail on
> ia64 and I don't think it should.
>

The test seems to be relying on unw_resume/sigreturn unmasking all signals
except for an arch specific _BLOCKABLE set. This set doesn't seem to be
documented in any man page. But looking at the kernel sources:

#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))

On x86_64, glibc  doesn't expose sigreturn. So the correct fix seems to be
to modify setcontext.S to mimic the kernel behavior. Seems reasonable?

Paul Pluznikov sent me a patch to implement x86_64 specific getcontext that
gets rid of the call to sigprocmask. I'll post it later today.

 -Arun
_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to