Home
last modified time | relevance | path

Searched refs:TlsDtv (Results 1 – 7 of 7) sorted by relevance

/bionic/libc/bionic/
Dbionic_elf_tls.cpp206 return sizeof(TlsDtv) + module_count * sizeof(void*); in dtv_size_in_bytes()
221 return (bytes - sizeof(TlsDtv)) / sizeof(void*); in calculate_new_dtv_count()
246 TlsDtv* const old_dtv = __get_tcb_dtv(tcb); in update_tls_dtv()
247 TlsDtv* const new_dtv = static_cast<TlsDtv*>(allocator.alloc(dtv_size_in_bytes(new_cnt))); in update_tls_dtv()
254 TlsDtv* const dtv = __get_tcb_dtv(tcb); in update_tls_dtv()
290 TlsDtv* dtv = __get_tcb_dtv(tcb); in tls_get_addr_slow_path()
315 TlsDtv* dtv = __get_tcb_dtv(__get_bionic_tcb()); in TLS_GET_ADDR()
340 TlsDtv* dtv = __get_tcb_dtv(tcb); in __free_dynamic_tls()
359 TlsDtv* next = dtv->next; in __free_dynamic_tls()
Dpthread_internal.h201 static inline __always_inline TlsDtv* __get_tcb_dtv(bionic_tcb* tcb) { in __get_tcb_dtv()
203 return reinterpret_cast<TlsDtv*>(dtv_slot - offsetof(TlsDtv, generation)); in __get_tcb_dtv()
206 static inline void __set_tcb_dtv(bionic_tcb* tcb, TlsDtv* val) { in __set_tcb_dtv()
D__libc_init_main_thread.cpp100 static const TlsDtv zero_dtv = {}; in __init_tcb_dtv()
101 __set_tcb_dtv(tcb, const_cast<TlsDtv*>(&zero_dtv)); in __init_tcb_dtv()
/bionic/tests/
Delftls_dl_test.cpp162 auto dtv = []() -> TlsDtv* { return __get_tcb_dtv(__get_bionic_tcb()); }; in TEST()
164 static_assert(sizeof(TlsDtv) == 3 * sizeof(void*), in TEST()
174 TlsDtv* zero_dtv = dtv(); in TEST()
185 TlsDtv* initial_dtv = dtv(); in TEST()
204 TlsDtv* new_dtv = dtv(); in TEST()
245 auto dtv = []() -> TlsDtv* { return __get_tcb_dtv(__get_bionic_tcb()); }; in TEST()
/bionic/libc/private/
Dbionic_elf_tls.h144 struct TlsDtv { struct
152 TlsDtv* next; argument
/bionic/docs/
Delf-tls.md299 struct TlsDtv { // DTV == dynamic thread vector
305   TlsDtv* dtv = __get_dtv();
/bionic/linker/
Dlinker.cpp377 TlsDtv* dtv = __get_tcb_dtv(__get_bionic_tcb()); in get_tls_block_for_this_thread()