Changeset f356618 in mainline for uspace/lib/c/include/rtld


Ignore:
Timestamp:
2016-05-22T21:05:55Z (10 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b3364b7c
Parents:
af2254ec (diff), 3a9414e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge dynamic linking support for thread local storage.

Location:
uspace/lib/c/include/rtld
Files:
3 edited

Legend:

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

    raf2254ec rf356618  
    4242#include <types/rtld/rtld.h>
    4343
     44extern int module_create_static_exec(rtld_t *, module_t **);
    4445extern void module_process_relocs(module_t *);
    4546extern module_t *module_find(rtld_t *, const char *);
    4647extern module_t *module_load(rtld_t *, const char *, mlflags_t);
    4748extern void module_load_deps(module_t *, mlflags_t);
     49extern module_t *module_by_id(rtld_t *, unsigned long);
    4850
    4951extern void modules_process_relocs(rtld_t *, module_t *);
     52extern void modules_process_tls(rtld_t *);
    5053extern void modules_untag(rtld_t *);
    5154
  • uspace/lib/c/include/rtld/rtld.h

    raf2254ec rf356618  
    4141
    4242#include <rtld/dynamic.h>
     43#include <tls.h>
    4344#include <types/rtld/rtld.h>
    4445
    4546extern rtld_t *runtime_env;
    4647
    47 extern void rtld_init_static(void);
     48extern int rtld_init_static(void);
    4849extern int rtld_prog_process(elf_finfo_t *, rtld_t **);
     50extern tcb_t *rtld_tls_make(rtld_t *);
     51extern unsigned long rtld_get_next_id(rtld_t *);
     52extern void *rtld_tls_get_addr(rtld_t *, tcb_t *, unsigned long, unsigned long);
    4953
    5054#endif
  • uspace/lib/c/include/rtld/symbol.h

    raf2254ec rf356618  
    3838#include <elf/elf.h>
    3939#include <rtld/rtld.h>
     40#include <tls.h>
    4041
    4142/** Symbol search flags */
     
    5051extern elf_symbol_t *symbol_def_find(const char *, module_t *,
    5152    symbol_search_flags_t, module_t **);
    52 extern void *symbol_get_addr(elf_symbol_t *, module_t *);
     53extern void *symbol_get_addr(elf_symbol_t *, module_t *, tcb_t *);
    5354
    5455#endif
Note: See TracChangeset for help on using the changeset viewer.