Changeset f570cdf in mainline for uspace/lib/c/include
- Timestamp:
- 2016-05-24T15:32:57Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c170438
- Parents:
- dcc150cb (diff), 0a981e3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/include
- Files:
-
- 7 edited
- 1 moved
-
elf/elf_mod.h (modified) (2 diffs)
-
rcu.h (moved) (moved from uspace/lib/urcu/rcu.h )
-
rtld/module.h (modified) (1 diff)
-
rtld/rtld.h (modified) (1 diff)
-
rtld/symbol.h (modified) (2 diffs)
-
tls.h (modified) (2 diffs)
-
types/rtld/module.h (modified) (2 diffs)
-
types/rtld/rtld.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/elf/elf_mod.h
rdcc150cb rf570cdf 58 58 } eld_flags_t; 59 59 60 /** TLS info for a module */ 61 typedef struct { 62 /** tdata section image */ 63 void *tdata; 64 /** Size of tdata section image in bytes */ 65 size_t tdata_size; 66 /** Size of tbss section */ 67 size_t tbss_size; 68 /** Alignment of TLS initialization image */ 69 size_t tls_align; 70 } elf_tls_info_t; 71 60 72 /** 61 73 * Some data extracted from the headers are stored here … … 70 82 /** Pointer to the dynamic section */ 71 83 void *dynamic; 84 85 /** TLS info */ 86 elf_tls_info_t tls; 72 87 } elf_finfo_t; 73 88 -
uspace/lib/c/include/rtld/module.h
rdcc150cb rf570cdf 42 42 #include <types/rtld/rtld.h> 43 43 44 extern int module_create_static_exec(rtld_t *, module_t **); 44 45 extern void module_process_relocs(module_t *); 45 46 extern module_t *module_find(rtld_t *, const char *); 46 47 extern module_t *module_load(rtld_t *, const char *, mlflags_t); 47 48 extern void module_load_deps(module_t *, mlflags_t); 49 extern module_t *module_by_id(rtld_t *, unsigned long); 48 50 49 51 extern void modules_process_relocs(rtld_t *, module_t *); 52 extern void modules_process_tls(rtld_t *); 50 53 extern void modules_untag(rtld_t *); 51 54 -
uspace/lib/c/include/rtld/rtld.h
rdcc150cb rf570cdf 41 41 42 42 #include <rtld/dynamic.h> 43 #include <tls.h> 43 44 #include <types/rtld/rtld.h> 44 45 45 46 extern rtld_t *runtime_env; 46 47 47 extern voidrtld_init_static(void);48 extern int rtld_init_static(void); 48 49 extern int rtld_prog_process(elf_finfo_t *, rtld_t **); 50 extern tcb_t *rtld_tls_make(rtld_t *); 51 extern unsigned long rtld_get_next_id(rtld_t *); 52 extern void *rtld_tls_get_addr(rtld_t *, tcb_t *, unsigned long, unsigned long); 49 53 50 54 #endif -
uspace/lib/c/include/rtld/symbol.h
rdcc150cb rf570cdf 38 38 #include <elf/elf.h> 39 39 #include <rtld/rtld.h> 40 #include <tls.h> 40 41 41 42 /** Symbol search flags */ … … 50 51 extern elf_symbol_t *symbol_def_find(const char *, module_t *, 51 52 symbol_search_flags_t, module_t **); 52 extern void *symbol_get_addr(elf_symbol_t *, module_t * );53 extern void *symbol_get_addr(elf_symbol_t *, module_t *, tcb_t *); 53 54 54 55 #endif -
uspace/lib/c/include/tls.h
rdcc150cb rf570cdf 39 39 #include <sys/types.h> 40 40 41 /** DTV Generation number - equals vector length */ 42 #define DTV_GN(dtv) (((uintptr_t *)(dtv))[0]) 43 41 44 /* 42 45 * Symbols defined in the respective linker script. … … 52 55 extern void tls_free(tcb_t *); 53 56 extern void tls_free_arch(tcb_t *, size_t); 57 extern size_t tls_get_size(void); 58 extern void *tls_get(void); 54 59 55 60 #ifdef CONFIG_TLS_VARIANT_1 -
uspace/lib/c/include/types/rtld/module.h
rdcc150cb rf570cdf 46 46 /** Dynamically linked module */ 47 47 typedef struct module { 48 /** Module ID */ 49 unsigned long id; 50 /** Dynamic info for this module */ 48 51 dyn_info_t dyn; 52 /** Load bias */ 49 53 size_t bias; 54 55 /** tdata image start */ 56 void *tdata; 57 /** tdata image size */ 58 size_t tdata_size; 59 /** tbss size */ 60 size_t tbss_size; 61 /** TLS alignment */ 62 size_t tls_align; 63 64 size_t ioffs; 50 65 51 66 /** Containing rtld */ … … 61 76 /** Link to list of all modules in runtime environment */ 62 77 link_t modules_link; 78 /** Link to list of initial modules */ 79 link_t imodules_link; 63 80 64 81 /** Link to BFS queue. Only used when doing a BFS of the module graph */ -
uspace/lib/c/include/types/rtld/rtld.h
rdcc150cb rf570cdf 48 48 module_t *program; 49 49 50 /** Next module ID */ 51 unsigned long next_id; 52 53 /** Size of initial TLS tdata + tbss */ 54 size_t tls_size; 55 50 56 /** List of all loaded modules including rtld and the program */ 51 57 list_t modules; 58 59 /** List of initial modules */ 60 list_t imodules; 52 61 53 62 /** Temporary hack to place each module at different address. */
Note:
See TracChangeset
for help on using the changeset viewer.
