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