I am trying to use __kernel_vsyscall
instead of syscall
/int 80
on linux x64.
I have read that it can be done on Intel chips (I have one), but i can't find how can one do it. I have x32 version:
int main() {
__asm__(
" movl $1, %eax \n"
" movl $42, %ebx \n"
" call *%gs:0x10 \n"
);
}
One can compile & run it this way:
% cc -m32 exit42.c -o x
% ./x; echo $?
42
So, how can i call vdso syscalls on x64 without syscall
and int 80
?