Rev 4345 | Rev 4348 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4345 | Rev 4347 | ||
|---|---|---|---|
| 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 288... | Line 289... | ||
| 288 | 289 | ||
| 289 | if (is_dyn_linked == true) { |
290 | if (is_dyn_linked == true) { |
| 290 | /* Dynamically linked program */ |
291 | /* Dynamically linked program */ |
| 291 | DPRINTF("Run ELF interpreter.\n"); |
292 | DPRINTF("Run ELF interpreter.\n"); |
| 292 | DPRINTF("Entry point: 0x%lx\n", interp_info.entry); |
293 | DPRINTF("Entry point: 0x%lx\n", interp_info.entry); |
| 293 | close_console(); |
294 | console_close(); |
| 294 | 295 | ||
| 295 | ipc_answer_0(rid, EOK); |
296 | ipc_answer_0(rid, EOK); |
| 296 | program_run(interp_info.entry, &pcb); |
297 | program_run(interp_info.entry, &pcb); |
| 297 | } else { |
298 | } else { |
| 298 | /* Statically linked program */ |
299 | /* Statically linked program */ |
| 299 | close_console(); |
300 | console_close(); |
| 300 | ipc_answer_0(rid, EOK); |
301 | ipc_answer_0(rid, EOK); |
| 301 | program_run(prog_info.entry, &pcb); |
302 | program_run(prog_info.entry, &pcb); |
| 302 | } |
303 | } |
| 303 | 304 | ||
| 304 | /* Not reached */ |
305 | /* Not reached */ |