Index: uspace/lib/c/generic/rtld/module.c
===================================================================
--- uspace/lib/c/generic/rtld/module.c	(revision c576800952e07575202b2da8af33796cbbc9ebe9)
+++ uspace/lib/c/generic/rtld/module.c	(revision ea77c2d18c8ff8eeff7e8bb1e4ebad6d26af7a44)
@@ -61,5 +61,5 @@
  * @return EOK on success, ENOMEM if out of memory
  */
-errno_t module_create_static_exec(rtld_t *rtld, module_t **rmodule)
+errno_t module_create_static_exec(const void *elf, rtld_t *rtld)
 {
 	module_t *module;
@@ -79,8 +79,8 @@
 
 	const elf_segment_header_t *tls =
-	    elf_get_phdr(__progsymbols.elfstart, PT_TLS);
+	    elf_get_phdr(elf, PT_TLS);
 
 	if (tls) {
-		uintptr_t bias = elf_get_bias(__progsymbols.elfstart);
+		uintptr_t bias = elf_get_bias(elf);
 		module->tdata = (void *) (tls->p_vaddr + bias);
 		module->tdata_size = tls->p_filesz;
@@ -95,7 +95,4 @@
 
 	list_append(&module->modules_link, &rtld->modules);
-
-	if (rmodule != NULL)
-		*rmodule = module;
 	return EOK;
 }
