diff options
author | bk@work.mysql.com <> | 2000-07-31 21:29:14 +0200 |
---|---|---|
committer | bk@work.mysql.com <> | 2000-07-31 21:29:14 +0200 |
commit | f4c589ff6c653d1d2a09c26e46ead3c8a15655d8 (patch) | |
tree | d253a359142dfc1ed247d5d4365d86972ea31109 /mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S | |
parent | 7eec25e393727b16bb916b50d82b0aa3084e065c (diff) | |
download | mariadb-git-f4c589ff6c653d1d2a09c26e46ead3c8a15655d8.tar.gz |
Import changeset
Diffstat (limited to 'mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S')
-rw-r--r-- | mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S b/mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S new file mode 100644 index 00000000000..923d2c03a75 --- /dev/null +++ b/mit-pthreads/machdep/syscall-template-arm32-netbsd-1.3.S @@ -0,0 +1,55 @@ +#include <machine/asm.h> +#include <sys/syscall.h> + +#ifdef SYS___sigsuspend14 +#define SYS_sigsuspend SYS___sigsuspend14 +#endif +#ifdef SYS___sigprocmask14 +#define SYS_sigprocmask SYS___sigprocmask14 +#endif + +#ifdef __STDC__ + +#define SYSCALL(x) \ + .globl _C_LABEL(machdep_sys_##x); \ + \ +_C_LABEL(machdep_sys_##x):; \ + \ + swi SYS_##x; \ + bcs 1b; \ + mov r15, r14; + +#else + +#define SYSCALL(x) \ + .globl _C_LABEL(_machdep_sys_/**/x); \ + \ +_C_LABEL(machdep_sys_/**/x):; \ + \ + swi SYS_/**/x; \ + bcs 1b; \ + mov r15, r14; + +#endif + + +/* + * Initial asm stuff for all functions. + */ + .text + .align 0 + + +/* ========================================================================== + * error code for all syscalls. The error value is returned as the negative + * of the errno value. + */ + +1: + rsb r0, r0, #0x00000000 + mvn r1, #0x00000000 + mov r15, r14 + +#define XSYSCALL(NAME) SYSCALL(NAME) + +XSYSCALL(SYSCALL_NAME) |