From 3f96834346d96c7e31eb00db312832aa933b3a84 Mon Sep 17 00:00:00 2001 From: Chung-Lin Tang Date: Fri, 24 Jul 2015 23:19:50 -0700 Subject: [PATCH] Fix order of arguments to rt_sigprocmask syscall when setting the signal mask in setcontext/swapcontext. --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/nios2/setcontext.S | 6 +++--- sysdeps/unix/sysv/linux/nios2/swapcontext.S | 6 +++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c11d03efb3..eadd60fabb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-07-25 Chung-Lin Tang + + * sysdeps/unix/sysv/linux/nios2/setcontext.S (__setcontext): + Fix order of arguments to the rt_sigprocmask syscall. + * sysdeps/unix/sysv/linux/nios2/swapcontext.S (__swapcontext): + Likewise. + 2015-07-24 Roland McGrath * sysdeps/nacl/bits/fcntl.h (O_SHLOCK, O_EXLOCK): Macros removed. diff --git a/sysdeps/unix/sysv/linux/nios2/setcontext.S b/sysdeps/unix/sysv/linux/nios2/setcontext.S index f40b73389d..8d899d950f 100644 --- a/sysdeps/unix/sysv/linux/nios2/setcontext.S +++ b/sysdeps/unix/sysv/linux/nios2/setcontext.S @@ -29,10 +29,10 @@ ENTRY(__setcontext) mov r10, r4 /* Restore signal mask. */ - /* rt_sigprocmask (SIG_SETMASK, NULL, &ucp->uc_sigmask, _NSIG8) */ + /* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */ movi r7, _NSIG8 - addi r6, r4, UCONTEXT_SIGMASK - mov r5, zero + addi r5, r4, UCONTEXT_SIGMASK + mov r6, zero movi r4, SIG_SETMASK movi r2, SYS_ify (rt_sigprocmask) trap diff --git a/sysdeps/unix/sysv/linux/nios2/swapcontext.S b/sysdeps/unix/sysv/linux/nios2/swapcontext.S index c2c321d96a..cfbcf8d256 100644 --- a/sysdeps/unix/sysv/linux/nios2/swapcontext.S +++ b/sysdeps/unix/sysv/linux/nios2/swapcontext.S @@ -68,10 +68,10 @@ ENTRY(__swapcontext) bne r5, r6, .Lsigreturn /* Restore signal mask. */ - /* rt_sigprocmask (SIG_SETMASK, NULL, &ucp->uc_sigmask, _NSIG8) */ + /* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */ movi r7, _NSIG8 - addi r6, r10, UCONTEXT_SIGMASK - mov r5, zero + addi r5, r10, UCONTEXT_SIGMASK + mov r6, zero movi r4, SIG_SETMASK movi r2, SYS_ify (rt_sigprocmask) trap