Changes in uspace/lib/c/generic/rtld/rtld.c [f215c6ef:b83c5e4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/rtld/rtld.c
rf215c6ef rb83c5e4 43 43 44 44 rtld_t *runtime_env; 45 static rtld_t rt_env_static; 45 46 46 47 /** Initialize the runtime linker for use in a statically-linked executable. */ 47 errno_t rtld_init_static(elf_finfo_t *finfo, rtld_t **rre) 48 { 49 rtld_t *env; 48 errno_t rtld_init_static(void) 49 { 50 50 errno_t rc; 51 51 52 env = calloc(1, sizeof(rtld_t)); 53 if (env == NULL) 54 return ENOMEM; 55 56 list_initialize(&env->modules); 57 list_initialize(&env->imodules); 58 env->program = NULL; 59 env->next_id = 1; 60 61 rc = module_create_static_exec(finfo->base, env); 52 runtime_env = &rt_env_static; 53 list_initialize(&runtime_env->modules); 54 list_initialize(&runtime_env->imodules); 55 runtime_env->program = NULL; 56 runtime_env->next_id = 1; 57 58 rc = module_create_static_exec(runtime_env, NULL); 62 59 if (rc != EOK) 63 60 return rc; 64 61 65 modules_process_tls(env); 66 67 *rre = env; 62 modules_process_tls(runtime_env); 63 68 64 return EOK; 69 65 } … … 131 127 errno_t rc = module_load_deps(prog, 0); 132 128 if (rc != EOK) { 133 free(prog);134 free(env);135 129 return rc; 136 130 }
Note:
See TracChangeset
for help on using the changeset viewer.