Changeset e2f26002 in mainline for uspace/lib/c/generic/rtld/symbol.c


Ignore:
Timestamp:
2016-05-17T17:15:13Z (9 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d2bb25e7
Parents:
bab0f42
Message:

symbol_get_addr() must treat thread-local variables differently than normal variables.

File:
1 edited

Legend:

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

    rbab0f42 re2f26002  
    251251void *symbol_get_addr(elf_symbol_t *sym, module_t *m)
    252252{
    253         if (sym->st_shndx == SHN_ABS) {
     253        if (ELF_ST_TYPE(sym->st_info) == STT_TLS) {
     254                return rtld_tls_get_addr(m->rtld, m->id, sym->st_value);
     255        } else if (sym->st_shndx == SHN_ABS) {
    254256                /* Do not add bias to absolute symbols */
    255257                return (void *) sym->st_value;
Note: See TracChangeset for help on using the changeset viewer.