47,7 → 47,7 |
|
typedef void (*entry_point_t)(void); |
|
int elf_load_file(char *file_name, elf_header_t *header) |
static int elf_load_file(char *file_name, elf_header_t *header) |
{ |
int fd; |
int rc; |
68,7 → 68,7 |
return rc; |
} |
|
void elf_run(elf_header_t *header) |
static void elf_run(elf_header_t *header) |
{ |
entry_point_t entry_point; |
|
78,7 → 78,7 |
/* not reached */ |
} |
|
void elf_create_pcb(elf_header_t *header) |
static int elf_create_pcb(elf_header_t *header) |
{ |
pcb_t *pcb; |
void *a; |
92,6 → 92,8 |
} |
|
pcb->entry = (entry_point_t)header->e_entry; |
|
return 0; |
} |
|
int main(int argc, char *argv[]) |
113,7 → 115,7 |
} |
|
printf("Create PCB\n"); |
elf_create_pcb(&prog_header); |
if (elf_create_pcb(&prog_header) < 0) return 1; |
|
printf("Load dynamic linker\n"); |
file_name = "/rtld.so"; |