Android系统调用流程---以open为例
在bionic\libc\unistd\open.c中,有用户空间的open系统调用函数,如下:
int open(const char *pathname, int flags, ...)
return__open(pathname, flags, mode);
可见调用到了 __open函数。
那我们接着去找__open函数:
在 bionic\libc\arch-arm\syscall有文件:__open.S
/*autogenerated by gensyscalls.py */
#include<machine/asm.h>
#include<sys/linux-syscalls.h>
ENTRY(__open)
.save {r4, r7}
stmfd sp!, {r4, r7}
ldr r7, =__NR_open
swi #0