HelenOS sources

rtld               63 uspace/lib/c/generic/rtld/module.c errno_t module_create_static_exec(rtld_t *rtld, module_t **rmodule)
rtld               73 uspace/lib/c/generic/rtld/module.c 	module->id = rtld_get_next_id(rtld);
rtld               76 uspace/lib/c/generic/rtld/module.c 	module->rtld = rtld;
rtld               96 uspace/lib/c/generic/rtld/module.c 	list_append(&module->modules_link, &rtld->modules);
rtld              151 uspace/lib/c/generic/rtld/module.c module_t *module_find(rtld_t *rtld, const char *name)
rtld              166 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              182 uspace/lib/c/generic/rtld/module.c module_t *module_load(rtld_t *rtld, const char *name, mlflags_t flags)
rtld              195 uspace/lib/c/generic/rtld/module.c 	m->rtld = rtld;
rtld              196 uspace/lib/c/generic/rtld/module.c 	m->id = rtld_get_next_id(rtld);
rtld              236 uspace/lib/c/generic/rtld/module.c 	list_append(&m->modules_link, &rtld->modules);
rtld              302 uspace/lib/c/generic/rtld/module.c 			dm = module_find(m->rtld, dep_name);
rtld              304 uspace/lib/c/generic/rtld/module.c 				dm = module_load(m->rtld, dep_name, flags);
rtld              325 uspace/lib/c/generic/rtld/module.c module_t *module_by_id(rtld_t *rtld, unsigned long id)
rtld              327 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              342 uspace/lib/c/generic/rtld/module.c void modules_process_relocs(rtld_t *rtld, module_t *start)
rtld              344 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              346 uspace/lib/c/generic/rtld/module.c 		if (m != &rtld->rtld) {
rtld              352 uspace/lib/c/generic/rtld/module.c void modules_process_tls(rtld_t *rtld)
rtld              355 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = sizeof(tcb_t);
rtld              356 uspace/lib/c/generic/rtld/module.c 	rtld->tls_align = alignof(tcb_t);
rtld              358 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              359 uspace/lib/c/generic/rtld/module.c 		list_append(&m->imodules_link, &rtld->imodules);
rtld              360 uspace/lib/c/generic/rtld/module.c 		rtld->tls_align = max(rtld->tls_align, m->tls_align);
rtld              362 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size = ALIGN_UP(rtld->tls_size, m->tls_align);
rtld              363 uspace/lib/c/generic/rtld/module.c 		m->tpoff = rtld->tls_size;
rtld              364 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size += m->tdata_size + m->tbss_size;
rtld              368 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = 0;
rtld              369 uspace/lib/c/generic/rtld/module.c 	rtld->tls_align = alignof(tcb_t);
rtld              371 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              372 uspace/lib/c/generic/rtld/module.c 		list_append(&m->imodules_link, &rtld->imodules);
rtld              373 uspace/lib/c/generic/rtld/module.c 		rtld->tls_align = max(rtld->tls_align, m->tls_align);
rtld              379 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size += m->tdata_size + m->tbss_size;
rtld              380 uspace/lib/c/generic/rtld/module.c 		rtld->tls_size = ALIGN_UP(rtld->tls_size, m->tls_align);
rtld              381 uspace/lib/c/generic/rtld/module.c 		m->tpoff = -(ptrdiff_t) rtld->tls_size;
rtld              391 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size = ALIGN_UP(rtld->tls_size, rtld->tls_align);
rtld              394 uspace/lib/c/generic/rtld/module.c 	rtld->tls_size += sizeof(tcb_t);
rtld              400 uspace/lib/c/generic/rtld/module.c void modules_untag(rtld_t *rtld)
rtld              402 uspace/lib/c/generic/rtld/module.c 	list_foreach(rtld->modules, modules_link, module_t, m) {
rtld              101 uspace/lib/c/generic/rtld/rtld.c 	prog->rtld = env;
rtld              151 uspace/lib/c/generic/rtld/rtld.c tcb_t *rtld_tls_make(rtld_t *rtld)
rtld              158 uspace/lib/c/generic/rtld/rtld.c 	tcb = tls_alloc_arch(rtld->tls_size, rtld->tls_align);
rtld              163 uspace/lib/c/generic/rtld/rtld.c 	nmods = list_count(&rtld->imodules);
rtld              182 uspace/lib/c/generic/rtld/rtld.c 	list_foreach(rtld->imodules, imodules_link, module_t, m) {
rtld              199 uspace/lib/c/generic/rtld/rtld.c unsigned long rtld_get_next_id(rtld_t *rtld)
rtld              201 uspace/lib/c/generic/rtld/rtld.c 	return rtld->next_id++;
rtld              213 uspace/lib/c/generic/rtld/rtld.c void *rtld_tls_get_addr(rtld_t *rtld, tcb_t *tcb, unsigned long mod_id,
rtld              235 uspace/lib/c/generic/rtld/rtld.c 		m = module_by_id(rtld, mod_id);
rtld              135 uspace/lib/c/generic/rtld/symbol.c 	modules_untag(start->rtld);
rtld              234 uspace/lib/c/generic/rtld/symbol.c 	list_foreach(origin->rtld->modules, modules_link, module_t, m) {
rtld              280 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