32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
|
From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001
|
||
|
From: Haavard Skinnemoen <hskinnemoen@atmel.com>
|
||
|
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 <hskinnemoen@atmel.com>
|
||
|
---
|
||
|
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
|
||
|
|