Commit 8088e1be by Ian Lance Taylor

runtime: Don't clobber saved context when catching signal.

From-SVN: r203577
parent f637ebc1
...@@ -399,6 +399,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) ...@@ -399,6 +399,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context)
{ {
G *gp; G *gp;
M *mp; M *mp;
void *stack_context[10];
/* We are now running on the stack registered via sigaltstack. /* We are now running on the stack registered via sigaltstack.
(Actually there is a small span of time between runtime_siginit (Actually there is a small span of time between runtime_siginit
...@@ -409,7 +410,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) ...@@ -409,7 +410,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context)
if (gp != NULL) if (gp != NULL)
{ {
#ifdef USING_SPLIT_STACK #ifdef USING_SPLIT_STACK
__splitstack_getcontext (&gp->stack_context[0]); __splitstack_getcontext (&stack_context[0]);
#endif #endif
} }
...@@ -432,7 +433,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context) ...@@ -432,7 +433,7 @@ sig_tramp_info (int sig, Siginfo *info, void *context)
if (gp != NULL) if (gp != NULL)
{ {
#ifdef USING_SPLIT_STACK #ifdef USING_SPLIT_STACK
__splitstack_setcontext (&gp->stack_context[0]); __splitstack_setcontext (&stack_context[0]);
#endif #endif
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment