Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2988 → Rev 2989

/branches/dynload/uspace/app/iloader/main.c
42,6 → 42,7
 
#include <elf.h>
#include <elf_load.h>
#include <pcb.h>
 
#define RTLD_BIAS 0x80000
 
50,6 → 51,7
elf_info_t prog_info;
elf_info_t interp_info;
char *file_name;
pcb_t *pcb;
int rc;
 
printf("This is loader\n");
57,8 → 59,8
 
printf("Load program\n");
 
// rc = elf_load_file("/dltest", 0, &prog_info);
rc = elf_load_file("/tetris", 0, &prog_info);
rc = elf_load_file("/dltest", 0, &prog_info);
// rc = elf_load_file("/tetris", 0, &prog_info);
if (rc < 0) {
printf("failed to load program\n");
return 1;
71,7 → 73,7
 
// getchar();
 
/* printf("Load dynamic linker\n");
printf("Load dynamic linker\n");
file_name = "/rtld.so";
printf("open and read '%s'...\n", file_name);
rc = elf_load_file(file_name, RTLD_BIAS, &interp_info);
80,9 → 82,16
return 1;
}
 
/*
* Provide rtld with some useful data
*/
pcb = (pcb_t *)PCB_ADDRESS;
pcb->rtld_dynamic = interp_info.dynamic;
pcb->rtld_bias = RTLD_BIAS;
 
printf("run dynamic linker\n");
elf_run(&interp_info);
*/
 
/* not reached */
return 0;
}