Subversion Repositories HelenOS

Rev

Rev 3174 | Rev 3448 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3174 Rev 3400
Line 229... Line 229...
229
        elf_run(&prog_info, &pcb);
229
        elf_run(&prog_info, &pcb);
230
        return 0;
230
        return 0;
231
    }
231
    }
232
 
232
 
233
    printf("Load dynamic linker '%s'\n", prog_info.interp);
233
    printf("Load dynamic linker '%s'\n", prog_info.interp);
234
    rc = elf_load_file("/rtld.so", RTLD_BIAS, &interp_info);
234
    rc = elf_load_file(prog_info.interp, RTLD_BIAS, &interp_info);
235
    if (rc < 0) {
235
    if (rc < 0) {
236
        printf("failed to load dynamic linker\n");
236
        printf("failed to load dynamic linker\n");
237
        ipc_answer_0(rid, EINVAL);
237
        ipc_answer_0(rid, EINVAL);
238
        return 1;
238
        return 1;
239
    }
239
    }
Line 243... Line 243...
243
     */
243
     */
244
    pcb.rtld_dynamic = interp_info.dynamic;
244
    pcb.rtld_dynamic = interp_info.dynamic;
245
    pcb.rtld_bias = RTLD_BIAS;
245
    pcb.rtld_bias = RTLD_BIAS;
246
 
246
 
247
    printf("run dynamic linker\n");
247
    printf("run dynamic linker\n");
-
 
248
    printf("rtld_dynamic = 0x%lx\n", pcb.rtld_dynamic);
248
    printf("entry point: 0x%llx\n", interp_info.entry);
249
    printf("entry point: 0x%lx\n", interp_info.entry);
-
 
250
    printf("pcb address: 0x%lx\n", &pcb);
249
    close_console();
251
    close_console();
250
 
252
 
251
    ipc_answer_0(rid, EOK);
253
    ipc_answer_0(rid, EOK);
252
    elf_run(&interp_info, &pcb);
254
    elf_run(&interp_info, &pcb);
253
 
255