From b040e1b0842c35ab444e8502db6ae59389d1e3d5 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 16 Jan 2017 21:34:48 +0000 Subject: Make soft-float powerpc swapcontext restore the signal mask (bug 21045). 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. [BZ #21045] * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S (__CONTEXT_FUNC_NAME): Pass address of signal mask to be restored to __sigprocmask. --- ChangeLog | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 9498803..66ce72b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-01-16 Joseph Myers + + [BZ #21045] + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S + (__CONTEXT_FUNC_NAME): Pass address of signal mask to be restored + to __sigprocmask. + 2017-01-16 Chris Metcalf * sysdeps/tile/tilegx/memchr.c (__memchr): Handle pointer -- cgit v1.1