/branches/dynload/uspace/lib/rtld/include/module.h |
---|
48,6 → 48,9 |
/** Number of fields in deps */ |
size_t n_deps; |
/** True iff relocations have already been processed in this module. */ |
bool relocated; |
/** Link to list of all modules in runtime environment */ |
link_t modules_link; |
62,7 → 65,7 |
module_t *module_load(char *name); |
void module_load_deps(module_t *m); |
void modules_process_relocs(void); |
void modules_process_relocs(module_t *start); |
void modules_untag(void); |
#endif |
/branches/dynload/uspace/lib/rtld/include/rtld.h |
---|
59,6 → 59,9 |
/** List of all loaded modules including rtld and the program */ |
link_t modules_head; |
/** Temporary hack to place each module at different address. */ |
uintptr_t next_bias; |
} runtime_env_t; |
extern runtime_env_t *runtime_env; |
/branches/dynload/uspace/lib/rtld/include/symbol.h |
---|
38,7 → 38,8 |
#include <rtld.h> |
#include <elf.h> |
elf_symbol_t *symbol_def_find(char *name, module_t *origin, module_t **m); |
elf_symbol_t *symbol_bfs_find(char *name, module_t *start, module_t **mod); |
elf_symbol_t *symbol_def_find(char *name, module_t *origin, module_t **mod); |
uintptr_t symbol_get_addr(elf_symbol_t *sym, module_t *m); |
#endif |