From edb393420ca8bde289e1d51340715803c7641a5b Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 23 Feb 2010 00:18:51 +0100 Subject: [PATCH] Fix reporting signal mask by sigreturn on powerpc * signal.c (sys_sigreturn) [POWERPC]: Skip dummy stack frame when locating signal context. --- signal.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; -- 2.40.0