/branches/dynload/uspace/lib/rtld/include/symbol.h |
38,7 → 38,7 |
#include <rtld.h> |
#include <elf.h> |
|
elf_symbol_t *symbol_def_find(char *name, module_t *origin, module_t **m); |
elf_symbol_t *symbol_def_find(char *name, module_t **m); |
uintptr_t symbol_get_addr(elf_symbol_t *sym, module_t *m); |
|
#endif |
/branches/dynload/uspace/lib/rtld/include/rtld.h |
36,20 → 36,20 |
#define RTLD_H_ |
|
#include <sys/types.h> |
#include <libadt/list.h> |
|
#include <dynamic.h> |
#include <module.h> |
|
typedef struct { |
dyn_info_t dyn; |
size_t bias; |
} module_t; |
|
typedef struct { |
elf_dyn_t *rtld_dynamic; |
module_t rtld; |
|
module_t *program; |
module_t *libc; |
|
/** List of all loaded modules including rtld and the program */ |
link_t modules_head; |
} runtime_env_t; |
|
void _rtld_main(void); |
/branches/dynload/uspace/lib/rtld/include/dynamic.h |
89,9 → 89,6 |
|
/* Assume for now that there's at most one needed library */ |
char *needed; |
|
/** Pointer to the module's dynamic section */ |
elf_dyn_t *dynamic; |
} dyn_info_t; |
|
void dynamic_parse(elf_dyn_t *dyn_ptr, size_t bias, dyn_info_t *info); |