Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/arm32/src/tls.c

    r3ffb69b rae7d03c  
    11/*
    2  * Copyright (c) 2019 Jiri Svoboda
    32 * Copyright (c) 2007 Pavel Jancik
    43 * All rights reserved.
     
    3938#include <stddef.h>
    4039
    41 #ifdef CONFIG_RTLD
    42 #include <rtld/rtld.h>
    43 #endif
    44 
    4540tcb_t *tls_alloc_arch(size_t size, size_t align)
    4641{
     
    5348}
    5449
    55 /*
    56  * Rtld TLS support
    57  */
    58 
    59 typedef struct {
    60         unsigned long int ti_module;
    61         unsigned long int ti_offset;
    62 } tls_index;
    63 
    64 int __tls_debug = 0;
    65 
    66 void *__tls_get_addr(tls_index *ti);
    67 
    68 void *__tls_get_addr(tls_index *ti)
    69 {
    70         uint8_t *tls;
    71 
    72 #ifdef CONFIG_RTLD
    73         if (runtime_env != NULL) {
    74                 return rtld_tls_get_addr(runtime_env, __tcb_get(),
    75                     ti->ti_module, ti->ti_offset);
    76         }
    77 #endif
    78         /* Get address of static TLS block */
    79         tls = tls_get();
    80         return tls + ti->ti_offset;
    81 }
    82 
    8350/** @}
    8451 */
Note: See TracChangeset for help on using the changeset viewer.