Changeset 17341d4 in mainline for uspace/lib/c/include/rtld
- Timestamp:
- 2016-04-20T17:25:48Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dc0d8b52
- Parents:
- 13dfa3f9
- Location:
- uspace/lib/c/include/rtld
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/rtld/module.h
r13dfa3f9 r17341d4 39 39 #include <rtld/dynamic.h> 40 40 #include <adt/list.h> 41 #include <types/rtld/module.h> 42 #include <types/rtld/rtld.h> 41 43 42 typedef struct module { 43 dyn_info_t dyn; 44 size_t bias; 44 extern void module_process_relocs(module_t *); 45 extern module_t *module_find(rtld_t *, const char *); 46 extern module_t *module_load(rtld_t *, const char *); 47 extern void module_load_deps(module_t *); 45 48 46 /** Array of pointers to directly dependent modules */ 47 struct module **deps; 48 /** Number of fields in deps */ 49 size_t n_deps; 50 51 /** True iff relocations have already been processed in this module. */ 52 bool relocated; 53 54 /** Link to list of all modules in runtime environment */ 55 link_t modules_link; 56 57 /** Link to BFS queue. Only used when doing a BFS of the module graph */ 58 link_t queue_link; 59 /** Tag for modules already processed during a BFS */ 60 bool bfs_tag; 61 } module_t; 62 63 void module_process_relocs(module_t *m); 64 module_t *module_find(const char *name); 65 module_t *module_load(const char *name); 66 void module_load_deps(module_t *m); 67 68 void modules_process_relocs(module_t *start); 69 void modules_untag(void); 49 extern void modules_process_relocs(rtld_t *, module_t *); 50 extern void modules_untag(rtld_t *); 70 51 71 52 #endif -
uspace/lib/c/include/rtld/rtld.h
r13dfa3f9 r17341d4 36 36 #define LIBC_RTLD_H_ 37 37 38 #include <adt/list.h> 39 #include <elf/elf_mod.h> 38 40 #include <sys/types.h> 39 #include <adt/list.h>40 41 41 42 #include <rtld/dynamic.h> 42 #include < rtld/module.h>43 #include <types/rtld/rtld.h> 43 44 44 typedef struct { 45 elf_dyn_t *rtld_dynamic; 46 module_t rtld; 47 48 module_t *program; 49 50 /** List of all loaded modules including rtld and the program */ 51 list_t modules; 52 53 /** Temporary hack to place each module at different address. */ 54 uintptr_t next_bias; 55 } runtime_env_t; 56 57 extern runtime_env_t *runtime_env; 45 extern rtld_t *runtime_env; 58 46 59 47 extern void rtld_init_static(void); 48 extern int rtld_prog_process(elf_finfo_t *, rtld_t **); 60 49 61 50 #endif -
uspace/lib/c/include/rtld/rtld_debug.h
r13dfa3f9 r17341d4 36 36 #define LIBC_RTLD_RTLD_DEBUG_H_ 37 37 38 #include <stdio.h> 39 38 40 /* Define to enable debugging mode. */ 39 41 #undef RTLD_DEBUG
Note:
See TracChangeset
for help on using the changeset viewer.