你如何检查系统调用x86_64?

时间:2011-06-30 16:12:17

标签: assembly x86-64

我找不到专门的官方网站来搜索此类信息。

例如,如果我想exit,我应该如何使用x86_64中引入的syscall进行操作?

有关此类详细信息的任何手册吗?

我在Centos上。

2 个答案:

答案 0 :(得分:1)

Glibc sysdeps/unix/sysv/linux/x86_64/syscall.S,看看这是否有帮助。

答案 1 :(得分:1)

让C库为你做:

movl $0, %rdi  # or whatever exit code you want (0-127)
call _exit

真的不希望自己进行系统调用。 C库使您免受一堆低级ABI问题的影响(许多系统调用存在于多个版本中,具体取决于您拥有的内核;其中一些不需要实际的陷阱进入管理程序模式;等等),它知道如何设置errno,它将为架构和内核版本选择最有效的陷阱序列。