我挂接了Linux 2.6.32x86-32上的系统调用。
但是,我发现在system call table中,__NR_execve指向的是ptregs_execve而不是sys_execve。而且,我找不到ptregs_execve anywhere的函数定义。
有人能帮我弄清楚ptregs_execve和sys_execve之间的区别或联系吗?我知道对于um架构,ptregs_execve被定义为sys_execve。其他的架构呢?
发布于 2013-06-28 23:38:30
可能更有帮助:
注意,宏PTREGSCALL3是在entry_32.S中定义的,它定义了一个调用sys_##name的填充函数。这个宏是以execve作为参数调用的。因此,ptregs_execve只是一个填充程序,它使用适当的参数调用sys_execve。
https://stackoverflow.com/questions/13186515
复制相似问题