From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Fri, 7 Dec 2007 14:02:19 +0100 Subject: [PATCH] AVR32: Fix sa_restorer when SA_ONSTACK is set I don't remember exactly why we decided to pick the caller's value of sa_restorer when SA_ONSTACK is set, but it seems to break LTP's sigaltstack testcase. Some users have reported problems with sigaltstack as well; hopefully this will fix it. Signed-off-by: Haavard Skinnemoen --- libc/sysdeps/linux/avr32/sigaction.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c index a97ff3d..6dcca91 100644 --- a/libc/sysdeps/linux/avr32/sigaction.c +++ b/libc/sysdeps/linux/avr32/sigaction.c @@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const struct sigaction *act, kact.k_sa_handler = act->sa_handler; memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask)); kact.sa_flags = act->sa_flags; - if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK)) + if (kact.sa_flags & SA_RESTORER) kact.sa_restorer = act->sa_restorer; else kact.sa_restorer = __default_rt_sa_restorer; -- 1.5.3.4