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 + -
显示快捷键?