Changeset d5a89a3 in mainline for uspace/lib/c/arch/ppc32/src/tls.c
- Timestamp:
- 2019-02-11T22:31:04Z (6 years ago)
- Children:
- aaf9789c
- Parents:
- e3272101 (diff), 4805495 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ppc32/src/tls.c
re3272101 rd5a89a3 1 1 /* 2 * Copyright (c) 2019 Jiri Svoboda 2 3 * Copyright (c) 2006 Ondrej Palkovsky 3 4 * All rights reserved. … … 36 37 #include <stddef.h> 37 38 39 #ifdef CONFIG_RTLD 40 #include <rtld/rtld.h> 41 #endif 42 38 43 tcb_t *tls_alloc_arch(size_t size, size_t align) 39 44 { … … 46 51 } 47 52 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 48 81 /** @} 49 82 */
Note:
See TracChangeset
for help on using the changeset viewer.