summaryrefslogtreecommitdiff
path: root/lib/libc/arch/hppa/SYS.h
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2002-10-31 23:07:38 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2002-10-31 23:07:38 +0000
commitf75e717e3c860557a23ca540a17d1fe0a09da972 (patch)
tree8fba7c8f763273d9111aa1a6919e070ae90c7a91 /lib/libc/arch/hppa/SYS.h
parent30febce284ffb036d0de18b4b33f8afdc61839cf (diff)
gotta define SYSEXIT() and make all the rest of sys/*S be thread-safe now, missed this fuct in the previous take on thread-safe libc
Diffstat (limited to 'lib/libc/arch/hppa/SYS.h')
-rw-r--r--lib/libc/arch/hppa/SYS.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/libc/arch/hppa/SYS.h b/lib/libc/arch/hppa/SYS.h
index a358d8fb593..a196447b2b4 100644
--- a/lib/libc/arch/hppa/SYS.h
+++ b/lib/libc/arch/hppa/SYS.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: SYS.h,v 1.11 2002/10/31 20:06:46 mickey Exp $ */
+/* $OpenBSD: SYS.h,v 1.12 2002/10/31 23:07:37 mickey Exp $ */
/*
* Copyright (c) 1998-2002 Michael Shalayeff
@@ -38,9 +38,11 @@
#include <machine/vmparam.h>
#undef _LOCORE
-#define SYSENTRY(x) !\
-ENTRY(__CONCAT(_thread_sys_,x),0) !\
+#define SYSENTRY(x,n) !\
+ENTRY(__CONCAT(_thread_sys_,x),n) !\
.weak x ! .set x, __CONCAT(_thread_sys_,x)
+#define SYSEXIT(x) !\
+EXIT(__CONCAT(_thread_sys_,x))
#define SYSCALL(x) !\
stw rp, HPPA_FRAME_ERP(sr0,sp) !\
@@ -58,14 +60,14 @@ ENTRY(__CONCAT(_thread_sys_,x),0) !\
.label __CONCAT(x,$noerr)
#define PSEUDO(x,y) !\
-SYSENTRY(x) !\
+SYSENTRY(x,0) !\
SYSCALL(y) !\
bv r0(rp) !\
nop !\
-EXIT(__CONCAT(_thread_sys_,x))
+SYSEXIT(x)
#define PSEUDO_NOERROR(x,y) !\
-SYSENTRY(x) !\
+SYSENTRY(x,0) !\
stw rp, HPPA_FRAME_ERP(sr0,sp) !\
ldil L%SYSCALLGATE, r1 !\
ble 4(sr7, r1) !\
@@ -73,7 +75,7 @@ SYSENTRY(x) !\
ldw HPPA_FRAME_ERP(sr0,sp), rp !\
bv r0(rp) !\
nop !\
-EXIT(__CONCAT(_thread_sys_,x))
+SYSEXIT(x)
#define RSYSCALL(x) PSEUDO(x,x)