[PATCH] AVR32: Fix sa_restorer when SA_ONSTACK is set

Carmelo AMOROSO carmelo.amoroso at st.com
Fri Dec 7 06:25:24 PST 2007


Haavard Skinnemoen wrote:
> From: Haavard Skinnemoen <hskinnemoen at atmel.com>
>
> 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 at 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;
>   
Hello,
patch did not apply cleanly, anyway committed your changes by hands.
Cheers,
Carmelo


More information about the uClibc mailing list