2

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?

closed as off-topic by Vitaly Osipov, perror, peter ferrie, Igor Skochinsky Jan 20 '17 at 21:23

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions on software development are off-topic here, but can be asked on Stack Overflow." – Vitaly Osipov, perror, peter ferrie, Igor Skochinsky
If this question can be reworded to fit the rules in the help center, please edit the question.

Browse other questions tagged or ask your own question.