This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Make soft-float powerpc swapcontext restore the signal mask (bug 21045)
- From: "Tulio Magno Quites Machado Filho" <tuliom at linux dot vnet dot ibm dot com>
- To: Joseph Myers <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Cc:
- Date: Mon, 16 Jan 2017 17:00:15 -0200
- Subject: Re: Make soft-float powerpc swapcontext restore the signal mask (bug 21045)
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1701122238210.12673@digraph.polyomino.org.uk>
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