Rev 4014 | Rev 4241 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4014 | Rev 4154 | ||
|---|---|---|---|
| Line 51... | Line 51... | ||
| 51 | #include <sys/types.h> |
51 | #include <sys/types.h> |
| 52 | #include <ipc/ipc.h> |
52 | #include <ipc/ipc.h> |
| 53 | #include <ipc/services.h> |
53 | #include <ipc/services.h> |
| 54 | #include <ipc/loader.h> |
54 | #include <ipc/loader.h> |
| 55 | #include <loader/pcb.h> |
55 | #include <loader/pcb.h> |
| - | 56 | #include <console.h> |
|
| 56 | #include <errno.h> |
57 | #include <errno.h> |
| 57 | #include <async.h> |
58 | #include <async.h> |
| 58 | #include <as.h> |
59 | #include <as.h> |
| 59 | 60 | ||
| 60 | #include <elf.h> |
61 | #include <elf.h> |
| Line 280... | Line 281... | ||
| 280 | 281 | ||
| 281 | if (is_dyn_linked == true) { |
282 | if (is_dyn_linked == true) { |
| 282 | /* Dynamically linked program */ |
283 | /* Dynamically linked program */ |
| 283 | DPRINTF("Run ELF interpreter.\n"); |
284 | DPRINTF("Run ELF interpreter.\n"); |
| 284 | DPRINTF("Entry point: 0x%lx\n", interp_info.entry); |
285 | DPRINTF("Entry point: 0x%lx\n", interp_info.entry); |
| 285 | close_console(); |
286 | console_close(); |
| 286 | 287 | ||
| 287 | ipc_answer_0(rid, EOK); |
288 | ipc_answer_0(rid, EOK); |
| 288 | elf_run(&interp_info, &pcb); |
289 | elf_run(&interp_info, &pcb); |
| 289 | } else { |
290 | } else { |
| 290 | /* Statically linked program */ |
291 | /* Statically linked program */ |
| 291 | close_console(); |
292 | console_close(); |
| 292 | ipc_answer_0(rid, EOK); |
293 | ipc_answer_0(rid, EOK); |
| 293 | elf_run(&prog_info, &pcb); |
294 | elf_run(&prog_info, &pcb); |
| 294 | } |
295 | } |
| 295 | 296 | ||
| 296 | /* Not reached */ |
297 | /* Not reached */ |