diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2015-10-23 04:39:26 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2015-10-23 04:39:26 +0000 |
commit | a982c64703a6852d4518f8dee8a656db84842b70 (patch) | |
tree | 84d8a777e0e15a51aad4ff1546f6b8e588d3d434 /lib/libc/arch/alpha | |
parent | 67c7a47ecfaff0ecbfc81e62dfc8975d04c414ac (diff) |
Merge the sigaction() and sigprocmask() overloads/wrappers from libpthread
into libc, and move pthread_sigmask() as well (just a trivial wrapper).
This provides consistent handling of SIGTHR between single- and multi-threaded
programs and is a step in the merge of all the libpthread overloads, providing
some ASM and Makefile bits that the other wrappers will need.
ok deraadt@ millert@
Diffstat (limited to 'lib/libc/arch/alpha')
-rw-r--r-- | lib/libc/arch/alpha/SYS.h | 8 | ||||
-rw-r--r-- | lib/libc/arch/alpha/sys/sigpending.S | 4 | ||||
-rw-r--r-- | lib/libc/arch/alpha/sys/sigprocmask.S | 6 | ||||
-rw-r--r-- | lib/libc/arch/alpha/sys/sigsuspend.S | 4 |
4 files changed, 12 insertions, 10 deletions
diff --git a/lib/libc/arch/alpha/SYS.h b/lib/libc/arch/alpha/SYS.h index 41b3cee56d3..c1bb2bef372 100644 --- a/lib/libc/arch/alpha/SYS.h +++ b/lib/libc/arch/alpha/SYS.h @@ -1,4 +1,4 @@ -/* $OpenBSD: SYS.h,v 1.12 2015/09/10 13:29:09 guenther Exp $ */ +/* $OpenBSD: SYS.h,v 1.13 2015/10/23 04:39:24 guenther Exp $ */ /* $NetBSD: SYS.h,v 1.4 1996/10/17 03:03:53 cgd Exp $ */ /* @@ -132,7 +132,9 @@ __END(p,label); # define PSEUDO_NOERROR(x,y) ALIAS(_thread_sys_,x) \ __PSEUDO_NOERROR(_thread_sys_,x,y); \ _END(x) +# define SYSLEAF_HIDDEN(x,e) __LEAF(_thread_sys_,x,e) # define SYSLEAF(x,e) ALIAS(_thread_sys_,x) \ - __LEAF(_thread_sys_,x,e) -# define SYSEND(x) __END(_thread_sys_,x); \ + SYSLEAF_HIDDEN(x,e) +# define SYSCALL_END_HIDDEN(x) __END(_thread_sys_,x) +# define SYSCALL_END(x) SYSCALL_END_HIDDEN(x); \ _END(x) diff --git a/lib/libc/arch/alpha/sys/sigpending.S b/lib/libc/arch/alpha/sys/sigpending.S index 1accad82973..e1d73dff9c7 100644 --- a/lib/libc/arch/alpha/sys/sigpending.S +++ b/lib/libc/arch/alpha/sys/sigpending.S @@ -1,4 +1,4 @@ -/* $OpenBSD: sigpending.S,v 1.5 2005/08/07 16:40:13 espie Exp $ */ +/* $OpenBSD: sigpending.S,v 1.6 2015/10/23 04:39:24 guenther Exp $ */ /* $NetBSD: sigpending.S,v 1.1 1995/02/10 17:50:40 cgd Exp $ */ /* @@ -34,4 +34,4 @@ SYSCALL(sigpending) stl v0, 0(a0) mov zero, v0 RET -SYSEND(sigpending) +SYSCALL_END(sigpending) diff --git a/lib/libc/arch/alpha/sys/sigprocmask.S b/lib/libc/arch/alpha/sys/sigprocmask.S index 2f7d7bda2c7..d7f3659b19d 100644 --- a/lib/libc/arch/alpha/sys/sigprocmask.S +++ b/lib/libc/arch/alpha/sys/sigprocmask.S @@ -1,4 +1,4 @@ -/* $OpenBSD: sigprocmask.S,v 1.5 2005/08/07 16:40:13 espie Exp $ */ +/* $OpenBSD: sigprocmask.S,v 1.6 2015/10/23 04:39:24 guenther Exp $ */ /* $NetBSD: sigprocmask.S,v 1.2 1996/10/17 03:08:21 cgd Exp $ */ /* @@ -30,7 +30,7 @@ #include "SYS.h" -SYSLEAF(sigprocmask, 3) +SYSLEAF_HIDDEN(sigprocmask, 3) mov a2, a5 /* safe */ cmoveq a1, 1, a0 /* if set == NULL, how = SIG_BLOCK */ beq a1, Ldoit /* and set = 0, and do it. */ @@ -41,4 +41,4 @@ Ldoit: CALLSYS_ERROR(sigprocmask) Lret: mov zero, v0 RET -SYSEND(sigprocmask) +SYSCALL_END_HIDDEN(sigprocmask) diff --git a/lib/libc/arch/alpha/sys/sigsuspend.S b/lib/libc/arch/alpha/sys/sigsuspend.S index 61a81f51e39..f5201db29f6 100644 --- a/lib/libc/arch/alpha/sys/sigsuspend.S +++ b/lib/libc/arch/alpha/sys/sigsuspend.S @@ -1,4 +1,4 @@ -/* $OpenBSD: sigsuspend.S,v 1.6 2005/08/07 16:40:13 espie Exp $ */ +/* $OpenBSD: sigsuspend.S,v 1.7 2015/10/23 04:39:24 guenther Exp $ */ /* $NetBSD: sigsuspend.S,v 1.2 1996/10/17 03:08:22 cgd Exp $ */ /* @@ -35,4 +35,4 @@ SYSLEAF(sigsuspend, 1) CALLSYS_ERROR(sigsuspend) mov zero, v0 /* shouldn't need; just in case... */ RET -SYSEND(sigsuspend) +SYSCALL_END(sigsuspend) |