在2.6.20的内核下编译LDD3的setlevel.c时会报错,安装VMWare Workstation
5.5.3版本的时候也会报错,提示是一样的:_syscallN那行出错。仔细看了一下2.6.20的unistd.h,发现已经没有_syscallN的声明了。对于上述两个错误的地方,直接注释掉那一行就可以了。 记得以前看过的资料,系统调用从用户空间切换到内核空间可以依靠两种方法进行:
FC6的glibc版本是2.5,通过察看glibc编译过程中生成的sysd-syscalls文件及其指向的各个系统调用的源文件,可以看到,系统调用基本上是通过三种方式完成的:
|
|
来自: astrotycoon > 《syscall》