Function report | 
Source Code:fs\binfmt_aout.c | 
Create Date:2022-07-28 20:27:18 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:These are the functions used to load a.out style executables and shared* libraries. There is no binary dependent code anywhere else.
Proto:static int load_aout_binary(struct linux_binprm *bprm)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct linux_binprm * | bprm | 
| 119 | regs = current_pt_regs() | 
| 131 | Return -ENOEXEC | 
| 147 | rlim = rlimit(RLIMIT_DATA) | 
| 148 | If rlim >= RLIM_INFINITY Then rlim = ~0 | 
| 150 | If length of data, in bytes + length of uninitialized data area for file, in bytes > rlim Then Return -ENOMEM | 
| 164 | setup_new_exec(bprm) | 
| 166 | end_code = length of text, in bytes + (start_code = Address of text segment in memory after it is loaded. (ex)) | 
| 168 | end_data = length of data, in bytes + (start_data = N_DATADDR(ex)) | 
| 170 | brk = length of uninitialized data area for file, in bytes + (start_brk = Address of bss segment in memory after it is loaded. (ex)) | 
| 173 | retval = Finalizes the stack vm_area_struct. The flags and permissions are updated,* the stack is optionally relocated, and some extra space is added. | 
| 179 | If N_MAGIC(ex) == Code indicating object file or impure executable. Then | 
| 189 | pos = 32 | 
| 200 | Else | 
| 201 | If ( length of text, in bytes & 0xfff || length of data, in bytes & 0xfff ) && N_MAGIC(ex) != Code indicating pure executable. && printk_ratelimit() Then | 
| 207 | If (fd_offset & ~PAGE_MASK) != 0 && printk_ratelimit() Then | 
| 215 | error = vm_brk(Address of text segment in memory after it is loaded. (ex), length of text, in bytes + length of data, in bytes ) | 
| 219 | read_code(file, Address of text segment in memory after it is loaded. (ex), fd_offset, length of text, in bytes + length of data, in bytes ) | 
| 221 | Go to beyond_if | 
| 229 | If error != Address of text segment in memory after it is loaded. (ex) Then Return error | 
| 239 | beyond_if : | 
| 240 | set_binfmt( & aout_format) | 
| 252 | start_thread(regs, start address , start_stack) | 
| 253 | Return 0 | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |