Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2977 → Rev 2978

/branches/dynload/uspace/lib/rtld/rtld.c
49,6 → 49,7
pcb_t *pcb;
elf_info_t lib_info;
static module_t prog;
static module_t lib;
int rc;
 
printf("Hello, world! (from rtld)\n");
57,6 → 58,7
printf("Parse .dynamic section\n");
pcb = (pcb_t *)PCB_ADDRESS;
dynamic_parse(pcb->dynamic, 0, &prog.dyn);
prog.bias = 0;
 
printf("Program requested library '%s'\n", prog.dyn.needed);
66,9 → 68,12
return;
}
 
dynamic_parse(lib_info.dynamic, 0x20000, &lib.dyn);
lib.bias = 0x20000;
 
/* Parse program's relocation tables */
rel_table_process(&prog, prog.dyn.rel, prog.dyn.rel_sz);
rel_table_process(&prog, prog.dyn.jmp_rel, prog.dyn.plt_rel_sz);
rel_table_process(&prog, prog.dyn.rel, prog.dyn.rel_sz, &lib);
rel_table_process(&prog, prog.dyn.jmp_rel, prog.dyn.plt_rel_sz, &lib);
 
printf("Run program..\n");
pcb->entry();