From: Andreas S. <sc...@li...> - 2010-02-22 23:22:24
|
* signal.c (sys_sigreturn) [POWERPC]: Skip dummy stack frame when locating signal context. --- signal.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/signal.c b/signal.c index c1d6eb0..bf97e90 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; -- 1.7.0 Andreas. -- Andreas Schwab, sc...@li... GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." |