我注意到,在x86 INT $0x80的和AMD64系统调用系统调用不同的号码.例如,sys_exit是在x86和在系统调用AMD64 60的系统调用1.是否有一个(历史的)原因不同的系统调用编号方案?
解决方法
系统调用接口应该非常稳定,只允许添加.谈到系统调用接口对于每个架构是不同的事实,Linux家伙最有可能决定清理一些累积的cruft并从头启动amd64系统调用.
参考:linux / Documentation / ABI / stable / syscalls
This interface matches much of the POSIX interface and is based on it
and other Unix based interfaces. It will only be added to over time,
and not have things removed from it.Note that this interface is different for every architecture that Linux supports. Please see the architecture-specific documentation for details on the syscall numbers that are to be mapped to each syscall.