summaryrefslogtreecommitdiff
path: root/lib/libc/arch/alpha
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2015-10-23 04:39:26 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2015-10-23 04:39:26 +0000
commita982c64703a6852d4518f8dee8a656db84842b70 (patch)
tree84d8a777e0e15a51aad4ff1546f6b8e588d3d434 /lib/libc/arch/alpha
parent67c7a47ecfaff0ecbfc81e62dfc8975d04c414ac (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.h8
-rw-r--r--lib/libc/arch/alpha/sys/sigpending.S4
-rw-r--r--lib/libc/arch/alpha/sys/sigprocmask.S6
-rw-r--r--lib/libc/arch/alpha/sys/sigsuspend.S4
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)