From: Andreas Schwab Date: Mon, 22 Feb 2010 23:18:51 +0000 (+0100) Subject: Fix reporting signal mask by sigreturn on powerpc X-Git-Tag: v4.5.20~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=edb393420ca8bde289e1d51340715803c7641a5b;p=strace Fix reporting signal mask by sigreturn on powerpc * signal.c (sys_sigreturn) [POWERPC]: Skip dummy stack frame when locating signal context. --- diff --git a/signal.c b/signal.c index c1d6eb07..bf97e900 100644 --- a/signal.c +++ b/signal.c @@ -1329,6 +1329,12 @@ sys_sigreturn(struct tcb *tcp) tcp->u_arg[0] = 0; if (upeek(tcp, sizeof(unsigned long)*PT_R1, &esp) < 0) return 0; + /* Skip dummy stack frame. */ +#ifdef __powerpc64__ + esp += 128; +#else + esp += 64; +#endif if (umove(tcp, esp, &sc) < 0) return 0; tcp->u_arg[0] = 1;