From 6cdf7b4504d9ecbcfed19472f8c8edbfb389f643 Mon Sep 17 00:00:00 2001 From: ian Date: Mon, 14 Oct 2013 21:02:52 +0000 Subject: [PATCH] runtime: Don't clobber saved context when catching signal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203577 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgo/runtime/go-signal.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c index 9771b71..af99dde 100644 --- a/libgo/runtime/go-signal.c +++ b/libgo/runtime/go-signal.c @@ -399,6 +399,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) { G *gp; M *mp; + void *stack_context[10]; /* We are now running on the stack registered via sigaltstack. (Actually there is a small span of time between runtime_siginit @@ -409,7 +410,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) if (gp != NULL) { #ifdef USING_SPLIT_STACK - __splitstack_getcontext (&gp->stack_context[0]); + __splitstack_getcontext (&stack_context[0]); #endif } @@ -432,7 +433,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) if (gp != NULL) { #ifdef USING_SPLIT_STACK - __splitstack_setcontext (&gp->stack_context[0]); + __splitstack_setcontext (&stack_context[0]); #endif } } -- 2.7.4