diff options
-rw-r--r-- | src/__sys.x86-64.s | 13 | ||||
-rw-r--r-- | src/_syscall.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/__sys.x86-64.s b/src/__sys.x86-64.s index e69de29b..89e691db 100644 --- a/src/__sys.x86-64.s +++ b/src/__sys.x86-64.s @@ -0,0 +1,13 @@ +.global __syscall +.type __syscall, %function +__syscall: + mov %rdi, %rax + mov %rsi, %rdi + mov %rdx, %rsi + mov %rcx, %rdx + mov %r8, %r10 + mov %r9, %r8 + mov 8(%rsp), %r9 + syscall + ret + .size __syscall,.-__syscall diff --git a/src/_syscall.h b/src/_syscall.h index aa97fadf..805e9d1e 100644 --- a/src/_syscall.h +++ b/src/_syscall.h @@ -6,6 +6,8 @@ #include "errno/ENOSYS.h" #endif +#define __syscall syscall + #define SYSCALL(_name, _type, _err, _a1, _a2, _a3, _a4, _a5, _a6) \ static int _scno = -2; \ if (_scno == -2) { \ |