This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make soft-float powerpc swapcontext restore the signal mask (bug 21045)


Joseph Myers <joseph@codesourcery.com> writes:

> The soft-float powerpc version of swapcontext does not restore the
> signal mask, resulting in stdlib/tst-setcontext2 failing:
>
> after getcontext
> after setcontext
> after swapcontext
> FAIL: SIGUSR2 is blocked after swapcontext.
>
> This patch fixes this by adjusting the arguments passed to
> __sigprocmask so that it restores the saved signal mask as well as
> saving the existing one.  (For hard-float, this code is only used for
> a compat symbol, not for the current version of swapcontext.)
>
> Tested for soft-float powerpc.  Any comments?
>
> 2017-01-12  Joseph Myers  <joseph@codesourcery.com>
>
> 	[BZ #21045]
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
> 	(__CONTEXT_FUNC_NAME): Pass address of signal mask to be restored
> 	to __sigprocmask.

LGTM.

-- 
Tulio Magno


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]