Home
last modified time | relevance | path

Searched refs:tcb (Results 1 – 5 of 5) sorted by relevance

/bionic/libc/bionic/
Dpthread_create.cpp59 void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread) { in __init_tcb() argument
63 tcb->tls_slot(TLS_SLOT_SELF) = &tcb->tls_slot(TLS_SLOT_SELF); in __init_tcb()
65 tcb->tls_slot(TLS_SLOT_THREAD_ID) = thread; in __init_tcb()
69 void __init_tcb_stack_guard(bionic_tcb* tcb) { in __init_tcb_stack_guard() argument
71 tcb->tls_slot(TLS_SLOT_STACK_GUARD) = reinterpret_cast<void*>(__stack_chk_guard); in __init_tcb_stack_guard()
75 void __init_tcb_dtv(bionic_tcb* tcb) { in __init_tcb_dtv() argument
79 __set_tcb_dtv(tcb, const_cast<TlsDtv*>(&zero_dtv)); in __init_tcb_dtv()
82 void __init_bionic_tls_ptrs(bionic_tcb* tcb, bionic_tls* tls) { in __init_bionic_tls_ptrs() argument
83 tcb->thread()->bionic_tls = tls; in __init_bionic_tls_ptrs()
84 tcb->tls_slot(TLS_SLOT_BIONIC_TLS) = tls; in __init_bionic_tls_ptrs()
[all …]
Dpthread_internal.h156 __LIBC_HIDDEN__ void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread);
157 __LIBC_HIDDEN__ void __init_tcb_stack_guard(bionic_tcb* tcb);
158 __LIBC_HIDDEN__ void __init_tcb_dtv(bionic_tcb* tcb);
159 __LIBC_HIDDEN__ void __init_bionic_tls_ptrs(bionic_tcb* tcb, bionic_tls* tls);
185 static inline __always_inline TlsDtv* __get_tcb_dtv(bionic_tcb* tcb) { in __get_tcb_dtv() argument
186 uintptr_t dtv_slot = reinterpret_cast<uintptr_t>(tcb->tls_slot(TLS_SLOT_DTV)); in __get_tcb_dtv()
190 static inline void __set_tcb_dtv(bionic_tcb* tcb, TlsDtv* val) { in __set_tcb_dtv() argument
191 tcb->tls_slot(TLS_SLOT_DTV) = &val->generation; in __set_tcb_dtv()
Dbionic_elf_tls.cpp226 static void update_tls_dtv(bionic_tcb* tcb) { in update_tls_dtv() argument
233 if (__get_tcb_dtv(tcb)->generation == atomic_load(&modules.generation)) { in update_tls_dtv()
237 const size_t old_cnt = __get_tcb_dtv(tcb)->count; in update_tls_dtv()
246 TlsDtv* const old_dtv = __get_tcb_dtv(tcb); in update_tls_dtv()
251 __set_tcb_dtv(tcb, new_dtv); in update_tls_dtv()
254 TlsDtv* const dtv = __get_tcb_dtv(tcb); in update_tls_dtv()
257 char* static_tls = reinterpret_cast<char*>(tcb) - layout.offset_bionic_tcb(); in update_tls_dtv()
281 bionic_tcb* tcb = __get_bionic_tcb(); in tls_get_addr_slow_path() local
288 update_tls_dtv(tcb); in tls_get_addr_slow_path()
290 TlsDtv* dtv = __get_tcb_dtv(tcb); in tls_get_addr_slow_path()
[all …]
/bionic/libc/private/
Dbionic_elf_tls.h177 void __free_dynamic_tls(bionic_tcb* tcb);
/bionic/docs/
Delf-tls.md747 Add an lld option: `--android-tls[-tcb=SIZE]`