开发者

How do you check syscall for x86_64?

开发者 https://www.devze.com 2023-03-16 07:03 出处:网络
I can\'t find a dedicated official website to search for such information . For 开发者_StackOverflowexample,if I want to do exit,how should I do it with syscall introduced in x86_64?

I can't find a dedicated official website to search for such information .

For 开发者_StackOverflowexample,if I want to do exit,how should I do it with syscall introduced in x86_64?

Any manual for this kind of details?

I'm on Centos.


Glibc sysdeps/unix/sysv/linux/x86_64/syscall.S, see if this helps.


Let the C library do it for you:

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

You really do not want to make system calls yourself. The C library insulates you from a bunch of low-level ABI issues (many system calls exist in more than one version, depending on exactly which kernel you have; some of them don't require an actual trap into supervisor mode; etc), it knows how to set errno, and it will pick the most efficient trap sequence for the architecture and kernel version.

0

精彩评论

暂无评论...
验证码 换一张
取 消