1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-30 22:29:43 +02:00
openwrt-xburst/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch
hauke 782cc4f1ad uClibc: refresh patches for uClibc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14588 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-21 14:32:21 +00:00

27 lines
1.1 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(-)
--- a/libc/sysdeps/linux/avr32/sigaction.c
+++ b/libc/sysdeps/linux/avr32/sigaction.c
@@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const s
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;