Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 5035ba05 in mainline for uspace/lib/c/generic/rtld/module.c


Ignore:
Timestamp:
2016-05-02T19:49:51Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
32573ff, 9a08e6b
Parents:
634e020
Message:

Default symbol search vs. dlsym's BFS search.

File:
1 edited

Legend:

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

    r634e020 r5035ba05  
    117117                }
    118118        }
    119        
     119
    120120        return NULL; /* Not found */
    121121}
     
    127127 * Currently this trivially tries to load '/<name>'.
    128128 */
    129 module_t *module_load(rtld_t *rtld, const char *name)
     129module_t *module_load(rtld_t *rtld, const char *name, mlflags_t flags)
    130130{
    131131        elf_finfo_t info;
     
    133133        module_t *m;
    134134        int rc;
    135        
    136         m = malloc(sizeof(module_t));
     135
     136        m = calloc(1, sizeof(module_t));
    137137        if (!m) {
    138138                printf("malloc failed\n");
     
    141141
    142142        m->rtld = rtld;
     143        if ((flags & mlf_local) != 0)
     144                m->local = true;
    143145
    144146        if (str_size(name) > NAME_BUF_SIZE - 2) {
     
    185187/** Load all modules on which m (transitively) depends.
    186188 */
    187 void module_load_deps(module_t *m)
     189void module_load_deps(module_t *m, mlflags_t flags)
    188190{
    189191        elf_dyn_t *dp;
     
    230232                        dm = module_find(m->rtld, dep_name);
    231233                        if (!dm) {
    232                                 dm = module_load(m->rtld, dep_name);
    233                                 module_load_deps(dm);
     234                                dm = module_load(m->rtld, dep_name, flags);
     235                                module_load_deps(dm, flags);
    234236                        }
    235237
Note: See TracChangeset for help on using the changeset viewer.