45,8 → 45,8 |
|
int main(int argc, char *argv[]) |
{ |
elf_header_t prog_header; |
elf_header_t interp_header; |
elf_info_t prog_info; |
elf_info_t interp_info; |
char *file_name; |
int rc; |
|
55,7 → 55,7 |
|
printf("Load program\n"); |
|
rc = elf_load_file("/tetris", &prog_header); |
rc = elf_load_file("/tetris", &prog_info); |
if (rc < 0) { |
printf("failed to load program\n"); |
return 1; |
62,12 → 62,12 |
} |
|
printf("Create PCB\n"); |
if (elf_create_pcb(&prog_header) < 0) return 1; |
if (elf_create_pcb(&prog_info) < 0) return 1; |
|
printf("Load dynamic linker\n"); |
file_name = "/rtld.so"; |
printf("open and read '%s'...\n", file_name); |
rc = elf_load_file(file_name, &interp_header); |
rc = elf_load_file(file_name, &interp_info); |
if (rc < 0) { |
printf("failed to load dynamic linker\n"); |
return 1; |
74,7 → 74,7 |
} |
|
printf("run dynamic linker\n"); |
elf_run(&interp_header); |
elf_run(&interp_info); |
|
/* not reached */ |
return 0; |