Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/rtld/rtld.c

    rf215c6ef rb83c5e4  
    4343
    4444rtld_t *runtime_env;
     45static rtld_t rt_env_static;
    4546
    4647/** 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;
     48errno_t rtld_init_static(void)
     49{
    5050        errno_t rc;
    5151
    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);
    6259        if (rc != EOK)
    6360                return rc;
    6461
    65         modules_process_tls(env);
    66 
    67         *rre = env;
     62        modules_process_tls(runtime_env);
     63
    6864        return EOK;
    6965}
     
    131127        errno_t rc = module_load_deps(prog, 0);
    132128        if (rc != EOK) {
    133                 free(prog);
    134                 free(env);
    135129                return rc;
    136130        }
Note: See TracChangeset for help on using the changeset viewer.