Ignore:
File:
1 edited

Legend:

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

    ra0e2f9c r1567471  
    6565
    6666        module = calloc(1, sizeof(module_t));
    67         if (module == NULL) {
    68                 DPRINTF("malloc failed\n");
     67        if (module == NULL)
    6968                return ENOMEM;
    70         }
    7169
    7270        module->id = rtld_get_next_id(rtld);
     
    184182        char name_buf[NAME_BUF_SIZE];
    185183        module_t *m;
    186         errno_t rc;
     184        int rc;
    187185
    188186        m = calloc(1, sizeof(module_t));
    189187        if (m == NULL) {
    190                 DPRINTF("malloc failed\n");
    191                 goto error;
     188                printf("malloc failed\n");
     189                exit(1);
    192190        }
    193191
     
    199197
    200198        if (str_size(name) > NAME_BUF_SIZE - 2) {
    201                 DPRINTF("soname too long. increase NAME_BUF_SIZE\n");
    202                 goto error;
     199                printf("soname too long. increase NAME_BUF_SIZE\n");
     200                exit(1);
    203201        }
    204202
     
    210208
    211209        rc = elf_load_file_name(name_buf, RTLD_MODULE_LDF, &info);
    212         if (rc != EOK) {
    213                 DPRINTF("Failed to load '%s'\n", name_buf);
    214                 goto error;
     210        if (rc != EE_OK) {
     211                printf("Failed to load '%s'\n", name_buf);
     212                exit(1);
    215213        }
    216214
     
    220218
    221219        if (info.dynamic == NULL) {
    222                 DPRINTF("Error: '%s' is not a dynamically-linked object.\n",
     220                printf("Error: '%s' is not a dynamically-linked object.\n",
    223221                    name_buf);
    224                 goto error;
     222                exit(1);
    225223        }
    226224
     
    245243
    246244        return m;
    247 
    248 error:
    249         if (m)
    250                 free(m);
    251 
    252         return NULL;
    253245}
    254246
    255247/** Load all modules on which m (transitively) depends.
    256248 */
    257 errno_t module_load_deps(module_t *m, mlflags_t flags)
     249void module_load_deps(module_t *m, mlflags_t flags)
    258250{
    259251        elf_dyn_t *dp;
     
    282274                /* There are no dependencies, so we are done. */
    283275                m->deps = NULL;
    284                 return EOK;
     276                return;
    285277        }
    286278
    287279        m->deps = malloc(n * sizeof(module_t *));
    288280        if (!m->deps) {
    289                 DPRINTF("malloc failed\n");
    290                 return ENOMEM;
     281                printf("malloc failed\n");
     282                exit(1);
    291283        }
    292284
     
    302294                        if (!dm) {
    303295                                dm = module_load(m->rtld, dep_name, flags);
    304                                 if (!dm) {
    305                                         return EINVAL;
    306                                 }
    307 
    308                                 errno_t rc = module_load_deps(dm, flags);
    309                                 if (rc != EOK) {
    310                                         return rc;
    311                                 }
     296                                module_load_deps(dm, flags);
    312297                        }
    313298
     
    317302                ++dp;
    318303        }
    319 
    320         return EOK;
    321304}
    322305
Note: See TracChangeset for help on using the changeset viewer.