HelenOS sources

rtld               64 uspace/lib/c/generic/rtld/module.c errno_t module_create_entrypoint(elf_finfo_t *p_info, rtld_t *rtld, module_t **rmodule)
rtld               88 uspace/lib/c/generic/rtld/module.c 	module->id = rtld_get_next_id(rtld);
rtld               91 uspace/lib/c/generic/rtld/module.c 	module->rtld = rtld;
rtld              103 uspace/lib/c/generic/rtld/module.c 	list_append(&module->modules_link, &rtld->modules);
rtld              158 uspace/lib/c/generic/rtld/module.c module_t *module_find(rtld_t *rtld, const char *name)
rtld              173 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              189 uspace/lib/c/generic/rtld/module.c module_t *module_load(rtld_t *rtld, const char *name, mlflags_t flags)
rtld              202 uspace/lib/c/generic/rtld/module.c 	m->rtld = rtld;
rtld              203 uspace/lib/c/generic/rtld/module.c 	m->id = rtld_get_next_id(rtld);
rtld              243 uspace/lib/c/generic/rtld/module.c 	list_append(&m->modules_link, &rtld->modules);
rtld              309 uspace/lib/c/generic/rtld/module.c 			dm = module_find(m->rtld, dep_name);
rtld              311 uspace/lib/c/generic/rtld/module.c 				dm = module_load(m->rtld, dep_name, flags);
rtld              332 uspace/lib/c/generic/rtld/module.c module_t *module_by_id(rtld_t *rtld, unsigned long id)
rtld              334 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              349 uspace/lib/c/generic/rtld/module.c void modules_process_relocs(rtld_t *rtld, module_t *start)
rtld              351 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              356 uspace/lib/c/generic/rtld/module.c 		if (m != &rtld->rtld && m != start) {
rtld              371 uspace/lib/c/generic/rtld/module.c void modules_process_tls(rtld_t *rtld)
rtld              374 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = sizeof(tcb_t);
rtld              375 uspace/lib/c/generic/rtld/module.c 	rtld->tls_align = alignof(tcb_t);
rtld              377 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              378 uspace/lib/c/generic/rtld/module.c 		list_append(&m->imodules_link, &rtld->imodules);
rtld              379 uspace/lib/c/generic/rtld/module.c 		rtld->tls_align = max(rtld->tls_align, m->tls_align);
rtld              381 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size = ALIGN_UP(rtld->tls_size, m->tls_align);
rtld              382 uspace/lib/c/generic/rtld/module.c 		m->tpoff = rtld->tls_size;
rtld              383 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size += m->tdata_size + m->tbss_size;
rtld              387 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = 0;
rtld              388 uspace/lib/c/generic/rtld/module.c 	rtld->tls_align = alignof(tcb_t);
rtld              390 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              391 uspace/lib/c/generic/rtld/module.c 		list_append(&m->imodules_link, &rtld->imodules);
rtld              392 uspace/lib/c/generic/rtld/module.c 		rtld->tls_align = max(rtld->tls_align, m->tls_align);
rtld              398 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size += m->tdata_size + m->tbss_size;
rtld              399 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size = ALIGN_UP(rtld->tls_size, m->tls_align);
rtld              400 uspace/lib/c/generic/rtld/module.c 		m->tpoff = -(ptrdiff_t) rtld->tls_size;
rtld              408 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = ALIGN_UP(rtld->tls_size, rtld->tls_align);
rtld              416 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size += sizeof(tcb_t);
rtld              422 uspace/lib/c/generic/rtld/module.c void modules_untag(rtld_t *rtld)
rtld              424 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              112 uspace/lib/c/generic/rtld/rtld.c tcb_t *rtld_tls_make(rtld_t *rtld)
rtld              119 uspace/lib/c/generic/rtld/rtld.c 	tcb = tls_alloc_arch(rtld->tls_size, rtld->tls_align);
rtld              124 uspace/lib/c/generic/rtld/rtld.c 	nmods = list_count(&rtld->imodules);
rtld              143 uspace/lib/c/generic/rtld/rtld.c 	list_foreach(rtld->imodules, imodules_link, module_t, m) {
rtld              160 uspace/lib/c/generic/rtld/rtld.c unsigned long rtld_get_next_id(rtld_t *rtld)
rtld              162 uspace/lib/c/generic/rtld/rtld.c 	return rtld->next_id++;
rtld              174 uspace/lib/c/generic/rtld/rtld.c void *rtld_tls_get_addr(rtld_t *rtld, tcb_t *tcb, unsigned long mod_id,
rtld              196 uspace/lib/c/generic/rtld/rtld.c 		m = module_by_id(rtld, mod_id);
rtld              140 uspace/lib/c/generic/rtld/symbol.c 	modules_untag(start->rtld);
rtld              239 uspace/lib/c/generic/rtld/symbol.c 	list_foreach(origin->rtld->modules, modules_link, module_t, m) {
rtld              285 uspace/lib/c/generic/rtld/symbol.c 		return rtld_tls_get_addr(m->rtld, tcb, m->id, sym->st_value);
rtld               44 uspace/lib/c/include/elf/elf_load.h 	struct rtld *env;
rtld               68 uspace/lib/c/include/types/rtld/module.h 	struct rtld *rtld;
rtld               47 uspace/lib/c/include/types/rtld/rtld.h 	module_t rtld;
rtld               44 uspace/lib/posix/include/libc/elf/elf_load.h 	struct rtld *env;
rtld               68 uspace/lib/posix/include/libc/types/rtld/module.h 	struct rtld *rtld;
rtld               47 uspace/lib/posix/include/libc/types/rtld/rtld.h 	module_t rtld;
HelenOS homepage, sources at GitHub