Rev 4347 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4347 | Rev 4691 | ||
|---|---|---|---|
| Line 36... | Line 36... | ||
| 36 | 36 | ||
| 37 | #include <stdio.h> |
37 | #include <stdio.h> |
| 38 | #include <unistd.h> |
38 | #include <unistd.h> |
| 39 | #include <fcntl.h> |
39 | #include <fcntl.h> |
| 40 | #include <loader/pcb.h> |
40 | #include <loader/pcb.h> |
| - | 41 | #include <ipc/ipc.h> |
|
| 41 | #include <console.h> |
42 | #include <vfs/vfs.h> |
| 42 | 43 | ||
| 43 | /* from librtld */ |
44 | /* from librtld */ |
| 44 | #include <rtld.h> |
45 | #include <rtld.h> |
| 45 | #include <dynamic.h> |
46 | #include <dynamic.h> |
| 46 | #include <elf_load.h> |
47 | #include <elf_load.h> |
| Line 105... | Line 106... | ||
| 105 | * Finally, run the main program. |
106 | * Finally, run the main program. |
| 106 | */ |
107 | */ |
| 107 | DPRINTF("Run program.. (at 0x%lx)\n", (uintptr_t)__pcb->entry); |
108 | DPRINTF("Run program.. (at 0x%lx)\n", (uintptr_t)__pcb->entry); |
| 108 | 109 | ||
| 109 | #ifndef RTLD_DEBUG |
110 | #ifndef RTLD_DEBUG |
| 110 | console_close(); |
111 | ipc_hangup(fphone(stdout)); |
| 111 | #endif |
112 | #endif |
| 112 | program_run(__pcb->entry, __pcb); |
113 | program_run(__pcb->entry, __pcb); |
| 113 | 114 | ||
| 114 | /* not reached */ |
115 | /* not reached */ |
| 115 | return 0; |
116 | return 0; |