Changes in uspace/lib/c/arch/arm32/src/tls.c [ae7d03c:3ffb69b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/arm32/src/tls.c
rae7d03c r3ffb69b 1 1 /* 2 * Copyright (c) 2019 Jiri Svoboda 2 3 * Copyright (c) 2007 Pavel Jancik 3 4 * All rights reserved. … … 38 39 #include <stddef.h> 39 40 41 #ifdef CONFIG_RTLD 42 #include <rtld/rtld.h> 43 #endif 44 40 45 tcb_t *tls_alloc_arch(size_t size, size_t align) 41 46 { … … 48 53 } 49 54 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 50 83 /** @} 51 84 */
Note:
See TracChangeset
for help on using the changeset viewer.