From 78ef7bbd691b64947b12ac5bdcfb8d0e2ca64e64 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Thu, 7 Feb 2008 20:05:11 +0000 Subject: sync AVR32 patches with upstream SVN-Revision: 10411 --- .../uClibc/patches/008-avr32_fix_sa_onstack.patch | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch (limited to 'toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch') diff --git a/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch b/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch new file mode 100644 index 0000000000..722decdbd7 --- /dev/null +++ b/toolchain/uClibc/patches/008-avr32_fix_sa_onstack.patch @@ -0,0 +1,31 @@ +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 + -- cgit v1.2.3