summaryrefslogtreecommitdiff
path: root/devel/unproven-pthreads/patches/patch-ao
diff options
context:
space:
mode:
Diffstat (limited to 'devel/unproven-pthreads/patches/patch-ao')
-rw-r--r--devel/unproven-pthreads/patches/patch-ao50
1 files changed, 50 insertions, 0 deletions
diff --git a/devel/unproven-pthreads/patches/patch-ao b/devel/unproven-pthreads/patches/patch-ao
new file mode 100644
index 00000000000..cc58ed16c2a
--- /dev/null
+++ b/devel/unproven-pthreads/patches/patch-ao
@@ -0,0 +1,50 @@
+$NetBSD: patch-ao,v 1.1 2001/01/09 16:14:22 briggs Exp $
+
+--- /dev/null Wed Dec 31 19:00:00 1969
++++ machdep/syscall-template-powerpc-netbsd.S Tue Jan 9 00:01:33 2001
+@@ -0,0 +1,45 @@
++#include <machine/asm.h>
++#define COMPAT_43
++#include <sys/syscall.h>
++
++#ifdef SYS___sigsuspend14
++#define SYS_sigsuspend SYS___sigsuspend14
++#endif
++
++#ifdef SYS___sigaction14
++#define SYS_sigaction SYS___sigaction14
++#endif
++
++#ifdef SYS___sigprocmask14
++#define SYS_sigprocmask SYS___sigprocmask14
++#endif
++
++#undef SYSCALL
++
++/* Kernel syscall interface:
++ Input:
++ 0 - system call number
++ 3-8 - arguments, as in C
++ Output:
++ so - (summary overflow) clear iff successful
++
++ This macro is similar to SYSCALL in asm.h, but not completely.
++ There's room for optimization, if we assume this will continue to
++ be assembled as one file.
++
++ This macro expansions does not include the return instruction.
++ If there's no other work to be done, use something like:
++ SYSCALL(foo) ; ret
++ If there is other work to do (in fork, maybe?), do it after the
++ SYSCALL invocation. */
++
++#define SYSCALL(x) \
++ ENTRY(machdep_sys_ ## x) \
++ li 0, SYS_ ## x ; \
++ sc ; \
++ bnslr ; \
++ b PIC_PLT(_C_LABEL(machdep_cerror))
++
++#define XSYSCALL(x) SYSCALL(x) ; blr
++
++ XSYSCALL(SYSCALL_NAME)