binfmt_aout.c.txt
来自「linux内核学习笔记 希望想看的人可以很快下载到」· 文本 代码 · 共 25 行
TXT
25 行
any problems,send mails to sindybear@163.com
相关文件
/fs/exec.c
//这个函数是最主要的处理函数,主要处理a.out格式的可执行文件
(1)static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
…… //解析参数bprm
//将解析出来的数据放到当前进程的mm虚拟存储区中,也就是设置
//code,data段的开始和结束地址
current->mm->end_code = ex.a_text + (current->mm->start_code = N_TXTADDR(ex));
current->mm->end_data = ex.a_data + (current->mm->start_data = N_DATADDR(ex));
current->mm->brk = ex.a_bss + (current->mm->start_brk = N_BSSADDR(ex));
current->mm->rss = 0;
current->mm->mmap = NULL;
compute_creds(bprm);
current->flags &= ~PF_FORKNOEXEC;
//然后分部分进行内存映射,例如code,data部分。
error = do_mmap(bprm->file, N_TXTADDR(ex), ex.a_text,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?