syscall-template-arm32-netbsd-1.3.S
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #include <machine/asm.h>
  2. #include <sys/syscall.h>
  3. #ifdef SYS___sigsuspend14
  4. #define SYS_sigsuspend SYS___sigsuspend14
  5. #endif
  6. #ifdef SYS___sigprocmask14
  7. #define SYS_sigprocmask SYS___sigprocmask14
  8. #endif
  9. #ifdef __STDC__
  10. #define SYSCALL(x)
  11. .globl _C_LABEL(machdep_sys_##x);
  12. _C_LABEL(machdep_sys_##x):;
  13. swi SYS_##x;
  14. bcs 1b;
  15. mov r15, r14;
  16. #else
  17. #define SYSCALL(x)
  18. .globl _C_LABEL(_machdep_sys_/**/x);
  19. _C_LABEL(machdep_sys_/**/x):;
  20. swi SYS_/**/x;
  21. bcs 1b;
  22. mov r15, r14;
  23. #endif
  24. /*
  25.  * Initial asm stuff for all functions.
  26.  */
  27. .text
  28. .align 0
  29. /* ==========================================================================
  30.  * error code for all syscalls. The error value is returned as the negative
  31.  * of the errno value.
  32.  */
  33. 1:
  34. rsb r0, r0, #0x00000000
  35. mvn r1, #0x00000000
  36. mov r15, r14
  37. #define XSYSCALL(NAME) SYSCALL(NAME)
  38. XSYSCALL(SYSCALL_NAME)