/branches/dynload/uspace/app/iloader/elf_load.c |
---|
171,11 → 171,14 |
} |
/* The run-time dynamic linker is loaded with a bias */ |
printf("Object type: %d\n", header->e_type); |
if (header->e_type == ET_DYN) |
elf->bias = RTLD_BIAS; |
else |
elf->bias = 0; |
printf("Bias set to 0x%d\n", elf->bias); |
printf("parse segments\n"); |
/* Walk through all segment headers and process them. */ |
/branches/dynload/uspace/app/iramfs/data.h |
---|
45,6 → 45,10 |
extern const size_t dltest_size; |
extern const char dltest_filename[]; |
extern const uint8_t libtest[]; |
extern const size_t libtest_size; |
extern const char libtest_filename[]; |
#endif |
/** @} |
/branches/dynload/uspace/app/iramfs/main.c |
---|
88,6 → 88,7 |
if (write_file(rtld, rtld_size, rtld_filename) < 0) return 1; |
if (write_file(dltest, dltest_size, dltest_filename) < 0) return 1; |
if (write_file(libtest, libtest_size, libtest_filename) < 0) return 1; |
printf("done\n"); |
getchar(); |
/branches/dynload/uspace/app/iramfs/Makefile |
---|
87,6 → 87,7 |
%.o: %.c |
$(CC) $(DEFS) $(CFLAGS) -c $< -o $@ |
data.c: ../../lib/rtld/rtld.so ../dltest/dltest |
data.c: ../../lib/rtld/rtld.so ../dltest/dltest ../../lib/libtest/libtest.so |
../../../tools/bin2c.py ../../lib/rtld/rtld.so rtld.so rtld >$@ |
../../../tools/bin2c.py ../dltest/dltest dltest dltest >>$@ |
../../../tools/bin2c.py ../../lib/libtest/libtest.so libtest.so.0 libtest >>$@ |