summaryrefslogtreecommitdiff
path: root/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
diff options
context:
space:
mode:
authorRobert Schuster <thebohemian@gmx.net>2008-02-16 15:09:09 +0000
committerRobert Schuster <thebohemian@gmx.net>2008-02-16 15:09:09 +0000
commitbb9bbef24b7680a453a01643f0cee659cf32dbd3 (patch)
tree7a0123ee49cd4fb648e38ab14100503750bce765 /packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
parent8af665768f69f7bc46c9912d849fd59f8bef0a5d (diff)
parent4e742a9df221b673cd5cd74affd9d4382cd26c8c (diff)
merge of '1821f6eadefc14ad7ce51d5ab026da139608f557'
and 'b214e193f52c5b76dce3027376c5bd7eafce9971'
Diffstat (limited to 'packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch')
-rw-r--r--packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
new file mode 100644
index 0000000000..722decdbd7
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
@@ -0,0 +1,31 @@
+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
+