diff options
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.S | 45 |
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 |