126,20 → 126,6 |
return rc; |
} |
|
/** Run an ELF executable. |
* |
* Transfers control to the entry point of an ELF executable loaded |
* earlier with elf_load_file(). This function does not return. |
* |
* @param info Info structure filled earlier by elf_load_file() |
*/ |
void elf_run(elf_info_t *info, pcb_t *pcb) |
{ |
program_run(info->entry, pcb); |
|
/* not reached */ |
} |
|
/** Create the program control block (PCB). |
* |
* Fills the program control block @a pcb with information from |
309,8 → 295,8 |
return load_segment(elf, entry); |
break; |
case PT_INTERP: |
/* Assume silently interp == "/lib/rtld" */ |
elf->info->interp = "/lib/rtld"; |
/* Assume silently interp == "/app/dload" */ |
elf->info->interp = "/app/dload"; |
break; |
case PT_DYNAMIC: |
case PT_SHLIB: |