This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.24-643-gb040e1b


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  b040e1b0842c35ab444e8502db6ae59389d1e3d5 (commit)
      from  502697713f4f129b602d7213253a9982ee1989f1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b040e1b0842c35ab444e8502db6ae59389d1e3d5

commit b040e1b0842c35ab444e8502db6ae59389d1e3d5
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Jan 16 21:34:48 2017 +0000

    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.

diff --git a/ChangeLog b/ChangeLog
index 9498803..66ce72b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-01-16  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.
+
 2017-01-16  Chris Metcalf  <cmetcalf@mellanox.com>
 
 	* sysdeps/tile/tilegx/memchr.c (__memchr): Handle pointer
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
index a0bcbf1..6696d54 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
@@ -271,7 +271,8 @@ ENTRY(__CONTEXT_FUNC_NAME)
 
 /* Restore ucontext (parm1) from stack.  */
 	lwz	r12,_FRAME_PARM_SAVE1(r1)
-	li	r4,0
+	lwz	r4,_FRAME_PARM_SAVE2(r1)
+	addi	r4,r4,_UC_SIGMASK
 	stw	r3,_UC_REGS_PTR(r12)
 	addi	r5,r12,_UC_SIGMASK
 	li	r3,SIG_SETMASK

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    7 +++++++
 .../linux/powerpc/powerpc32/swapcontext-common.S   |    3 ++-
 2 files changed, 9 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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