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

Changeset 17341d4 in mainline for uspace/lib/c/include/rtld/module.h


Ignore:
Timestamp:
2016-04-20T17:25:48Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
dc0d8b52
Parents:
13dfa3f9
Message:

Move rtld internals out of loader. Stop misusing rtld instance from current environment for loading dynamically linked executables.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/rtld/module.h

    r13dfa3f9 r17341d4  
    3939#include <rtld/dynamic.h>
    4040#include <adt/list.h>
     41#include <types/rtld/module.h>
     42#include <types/rtld/rtld.h>
    4143
    42 typedef struct module {
    43         dyn_info_t dyn;
    44         size_t bias;
     44extern void module_process_relocs(module_t *);
     45extern module_t *module_find(rtld_t *, const char *);
     46extern module_t *module_load(rtld_t *, const char *);
     47extern void module_load_deps(module_t *);
    4548
    46         /** Array of pointers to directly dependent modules */
    47         struct module **deps;
    48         /** Number of fields in deps */
    49         size_t n_deps;
    50 
    51         /** True iff relocations have already been processed in this module. */
    52         bool relocated;
    53 
    54         /** Link to list of all modules in runtime environment */
    55         link_t modules_link;
    56 
    57         /** Link to BFS queue. Only used when doing a BFS of the module graph */
    58         link_t queue_link;
    59         /** Tag for modules already processed during a BFS */
    60         bool bfs_tag;
    61 } module_t;
    62 
    63 void module_process_relocs(module_t *m);
    64 module_t *module_find(const char *name);
    65 module_t *module_load(const char *name);
    66 void module_load_deps(module_t *m);
    67 
    68 void modules_process_relocs(module_t *start);
    69 void modules_untag(void);
     49extern void modules_process_relocs(rtld_t *, module_t *);
     50extern void modules_untag(rtld_t *);
    7051
    7152#endif
Note: See TracChangeset for help on using the changeset viewer.