diff options
author | Jakob Kaivo <jkk@ung.org> | 2023-11-14 14:58:20 -0500 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2023-11-14 14:58:20 -0500 |
commit | 83990426c98ed9f75494535b9bb29151f8c3fd08 (patch) | |
tree | 2d64e7d4caa52c3160515bc982b8bb6b71ae019b /src | |
parent | c98f1b5e4a651c17c9c5023a2df287c168b54f3c (diff) |
use "native" syscall function
Diffstat (limited to 'src')
-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) { \ |