Files
jsix_import/src/libraries/libc/arch/x86_64/syscalls.s
Justin C. Miller 773617cbf3 [libc] Created syscall trampolines in libc
Using syscalls.inc (moved to src/include) generate trampoline functions
for directly calling syscalls with libc functions.
2020-08-23 18:14:45 -07:00

22 lines
436 B
ArmAsm

%macro SYSCALL 2
global _syscall_%1
_syscall_%1:
push rbp
mov rbp, rsp
; address of args should already be in rdi, etc
mov rax, %2
syscall
; result is now already in rax, so just return
pop rbp
ret
%endmacro
%define SYSCALL(n, name) SYSCALL name, n
%define SYSCALL(n, name, a) SYSCALL name, n
%define SYSCALL(n, name, a, b) SYSCALL name, n
%define SYSCALL(n, name, a, b, c) SYSCALL name, n
%include "syscalls.inc"