> 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.