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() {
    "               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?

Browse other questions tagged or ask your own question.