Rev 3536 | Rev 4377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3536 | Rev 3597 | ||
---|---|---|---|
Line 245... | Line 245... | ||
245 | pcb.argv = argv; |
245 | pcb.argv = argv; |
246 | 246 | ||
247 | if (prog_info.interp == NULL) { |
247 | if (prog_info.interp == NULL) { |
248 | /* Statically linked program */ |
248 | /* Statically linked program */ |
249 | // printf("Run statically linked program\n"); |
249 | // printf("Run statically linked program\n"); |
250 | // printf("entry point: 0x%llx\n", prog_info.entry); |
250 | // printf("entry point: 0x%lx\n", prog_info.entry); |
251 | is_dyn_linked = false; |
251 | is_dyn_linked = false; |
252 | ipc_answer_0(rid, EOK); |
252 | ipc_answer_0(rid, EOK); |
253 | return 0; |
253 | return 0; |
254 | } |
254 | } |
255 | 255 | ||
Line 283... | Line 283... | ||
283 | static void loader_run(ipc_callid_t rid, ipc_call_t *request) |
283 | static void loader_run(ipc_callid_t rid, ipc_call_t *request) |
284 | { |
284 | { |
285 | if (is_dyn_linked == true) { |
285 | if (is_dyn_linked == true) { |
286 | /* Dynamically linked program */ |
286 | /* Dynamically linked program */ |
287 | printf("run dynamic linker\n"); |
287 | printf("run dynamic linker\n"); |
288 | printf("entry point: 0x%llx\n", interp_info.entry); |
288 | printf("entry point: 0x%lx\n", interp_info.entry); |
289 | close_console(); |
289 | close_console(); |
290 | 290 | ||
291 | ipc_answer_0(rid, EOK); |
291 | ipc_answer_0(rid, EOK); |
292 | elf_run(&interp_info, &pcb); |
292 | elf_run(&interp_info, &pcb); |
293 | 293 | ||
Line 317... | Line 317... | ||
317 | 317 | ||
318 | while (1) { |
318 | while (1) { |
319 | callid = async_get_call(&call); |
319 | callid = async_get_call(&call); |
320 | 320 | ||
321 | switch (IPC_GET_METHOD(call)) { |
321 | switch (IPC_GET_METHOD(call)) { |
- | 322 | case IPC_M_PHONE_HUNGUP: |
|
- | 323 | exit(0); |
|
322 | case LOADER_GET_TASKID: |
324 | case LOADER_GET_TASKID: |
323 | loader_get_taskid(callid, &call); |
325 | loader_get_taskid(callid, &call); |
324 | continue; |
326 | continue; |
325 | case LOADER_SET_PATHNAME: |
327 | case LOADER_SET_PATHNAME: |
326 | loader_set_pathname(callid, &call); |
328 | loader_set_pathname(callid, &call); |