Ignore:
File:
1 edited

Legend:

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

    reefdd7c r4f205248  
    11/*
    2  * Copyright (c) 2019 Jiri Svoboda
    32 * Copyright (c) 2006 Ondrej Palkovsky
    43 * All rights reserved.
     
    3736#include <stddef.h>
    3837
    39 #ifdef CONFIG_RTLD
    40 #include <rtld/rtld.h>
    41 #endif
    42 
    4338tcb_t *tls_alloc_arch(size_t size, size_t align)
    4439{
     
    5146}
    5247
    53 /*
    54  * Rtld TLS support
    55  */
    56 
    57 typedef struct {
    58         unsigned long int ti_module;
    59         unsigned long int ti_offset;
    60 } tls_index;
    61 
    62 int __tls_debug = 0;
    63 
    64 void *__tls_get_addr(tls_index *ti);
    65 
    66 void *__tls_get_addr(tls_index *ti)
    67 {
    68         uint8_t *tls;
    69 
    70 #ifdef CONFIG_RTLD
    71         if (runtime_env != NULL) {
    72                 return rtld_tls_get_addr(runtime_env, __tcb_get(),
    73                     ti->ti_module, ti->ti_offset) + 0x8000;
    74         }
    75 #endif
    76         /* Get address of static TLS block */
    77         tls = tls_get();
    78         return tls + ti->ti_offset + 0x8000;
    79 }
    80 
    8148/** @}
    8249 */
Note: See TracChangeset for help on using the changeset viewer.