summaryrefslogtreecommitdiff
path: root/mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S
diff options
context:
space:
mode:
Diffstat (limited to 'mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S')
-rw-r--r--mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S45
1 files changed, 45 insertions, 0 deletions
diff --git a/mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S b/mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S
new file mode 100644
index 00000000000..65a796a057d
--- /dev/null
+++ b/mit-pthreads/machdep/syscall-template-sparc-sunos-5.3.S
@@ -0,0 +1,45 @@
+/* ==== syscall.S ============================================================
+ * Copyright (c) 1994 Chris Provenzano, proven@mit.edu
+ * All rights reserved.
+ *
+ */
+
+#ifndef lint
+ .text
+ .asciz "$Id$";
+#endif
+
+#define _ASM
+#include <sys/syscall.h>
+
+/*
+ * Initial asm stuff for all functions.
+ */
+ .text
+ .align 4
+
+/* ==========================================================================
+ * error code for all syscalls. The error value is returned as the negative
+ * of the errno value.
+ */
+
+1:
+ sub %r0, %o0, %o0
+2:
+ retl
+ nop
+
+#define concat2(a,b) a ## b
+#define concat(a,b) concat2(a,b)
+#define SYSval concat(SYS_,SYSCALL_NAME)
+#define procname concat(machdep_sys_,SYSCALL_NAME)
+
+ .globl procname
+
+procname:
+ mov SYSval, %g1
+ ta 0
+ bcs,a 2b
+ sub %r0,%o0,%o0
+ retl
+ nop