/third_party/musl/src/ldso/loongarch64/ |
H A D | tlsdesc.s | 16 # size_t *dtv = *(size_t**)(tp - 8); 17 # return dtv[p->modidx] + p->off - tp; 26 ld.d $t2, $tp, -8 # t2=dtv 31 add.d $a0, $a0, $t2 # a0=dtv+8*modidx 32 ld.d $a0, $a0, 0 # a0=dtv[modidx] 33 add.d $a0, $a0, $t1 # a0=dtv[modidx]+off
|
/third_party/musl/src/ldso/riscv64/ |
H A D | tlsdesc.s | 17 ld t2,-8(tp) # t2=dtv 24 add a0,a0,t2 # a0=dtv+8*modidx 25 ld a0,(a0) # a0=dtv[modidx] 26 add a0,a0,t1 # a0=dtv[modidx]+off 27 sub a0,a0,tp # a0=dtv[modidx]+off-tp
|
/third_party/musl/porting/linux/user/src/env/ |
H A D | __init_tls.c | 45 uintptr_t *dtv; in __copy_tls() local 48 dtv = (uintptr_t*)(mem + libc.tls_size) - (libc.tls_cnt + 1); in __copy_tls() 55 dtv[i] = (uintptr_t)(mem + p->offset) + DTP_OFFSET; in __copy_tls() 61 dtv = (uintptr_t *)mem; in __copy_tls() 68 dtv[i] = (uintptr_t)(mem - p->offset) + DTP_OFFSET; in __copy_tls() 74 dtv[0] = libc.tls_cnt; in __copy_tls() 75 td->dtv = dtv; in __copy_tls()
|
/third_party/musl/src/env/ |
H A D | __init_tls.c | 79 uintptr_t *dtv; in __copy_tls() local 82 dtv = (uintptr_t*)(mem + libc.tls_size) - (libc.tls_cnt + 1); in __copy_tls() 89 dtv[i] = (uintptr_t)(mem + p->offset) + DTP_OFFSET; in __copy_tls() 95 dtv = (uintptr_t *)mem; in __copy_tls() 102 dtv[i] = (uintptr_t)(mem - p->offset) + DTP_OFFSET; in __copy_tls() 108 dtv[0] = libc.tls_cnt; in __copy_tls() 109 td->dtv = dtv; in __copy_tls()
|
H A D | __reset_tls.c | 9 size_t i, n = self->dtv[0]; in __reset_tls() 11 char *mem = (char *)(self->dtv[i] - DTP_OFFSET); in __reset_tls()
|
/third_party/musl/porting/liteos_a/user/src/env/ |
H A D | __init_tls.c | 76 uintptr_t *dtv; in __copy_tls() local 79 dtv = (uintptr_t*)(mem + libc.tls_size) - (libc.tls_cnt + 1); in __copy_tls() 86 dtv[i] = (uintptr_t)(mem + p->offset) + DTP_OFFSET; in __copy_tls() 90 dtv = (uintptr_t *)mem; in __copy_tls() 97 dtv[i] = (uintptr_t)(mem - p->offset) + DTP_OFFSET; in __copy_tls() 101 dtv[0] = libc.tls_cnt; in __copy_tls() 102 td->dtv = dtv; in __copy_tls()
|
/third_party/musl/src/thread/ |
H A D | __tls_get_addr.c | 6 return (void *)(self->dtv[v[0]] + v[1]); in __tls_get_addr()
|
/third_party/musl/porting/linux/user/src/internal/ |
H A D | pthread_impl.h | 39 uintptr_t *dtv; member 107 uintptr_t *dtv; member
|
/third_party/musl/porting/liteos_a/user/src/internal/ |
H A D | pthread_impl.h | 23 uintptr_t *dtv; member 66 uintptr_t *dtv; member
|
/third_party/musl/src/internal/ |
H A D | pthread_impl.h | 26 uintptr_t *dtv; member 100 uintptr_t *dtv; member
|
/third_party/musl/porting/liteos_m/user/src/internal/ |
H A D | pthread_impl.h | 21 uintptr_t *dtv; member
|
/third_party/musl/porting/liteos_a/user/ldso/ |
H A D | dynlink.c | 1606 size_t old_cnt = self->dtv[0]; in install_new_tls() 1610 /* Copy existing dtv contents from all existing threads. */ in install_new_tls() 1612 memcpy(newdtv+i, td->dtv, in install_new_tls() 1616 /* Install new dtls into the enlarged, uninstalled dtv copies. */ in install_new_tls() 1632 /* Broadcast barrier to ensure contents of new dtv is visible in install_new_tls() 1633 * if the new dtv pointer is. The __membarrier function has a in install_new_tls() 1639 /* Install new dtv for each thread. */ in install_new_tls() 1641 td->dtv = newdtv[j]; in install_new_tls()
|
/third_party/musl/porting/liteos_a/user_debug/ldso/ |
H A D | dynlink.c | 1605 size_t old_cnt = self->dtv[0]; in install_new_tls() 1609 /* Copy existing dtv contents from all existing threads. */ in install_new_tls() 1611 memcpy(newdtv+i, td->dtv, in install_new_tls() 1615 /* Install new dtls into the enlarged, uninstalled dtv copies. */ in install_new_tls() 1631 /* Broadcast barrier to ensure contents of new dtv is visible in install_new_tls() 1632 * if the new dtv pointer is. The __membarrier function has a in install_new_tls() 1638 /* Install new dtv for each thread. */ in install_new_tls() 1640 td->dtv = newdtv[j]; in install_new_tls()
|
/third_party/musl/ldso/ |
H A D | dynlink.c | 1699 size_t old_cnt = self->dtv[0]; 1703 /* Copy existing dtv contents from all existing threads. */ 1705 memcpy(newdtv+i, td->dtv, 1709 /* Install new dtls into the enlarged, uninstalled dtv copies. */ 1725 /* Broadcast barrier to ensure contents of new dtv is visible 1726 * if the new dtv pointer is. The __membarrier function has a 1732 /* Install new dtv for each thread. */ 1734 td->dtv = newdtv[j];
|
/third_party/musl/porting/linux/user/ldso/ |
H A D | dynlink.c | 2727 size_t old_cnt = self->dtv[0]; in install_new_tls() 2731 /* Copy existing dtv contents from all existing threads. */ in install_new_tls() 2733 memcpy(newdtv+i, td->dtv, in install_new_tls() 2737 /* Install new dtls into the enlarged, uninstalled dtv copies. */ in install_new_tls() 2753 /* Broadcast barrier to ensure contents of new dtv is visible in install_new_tls() 2754 * if the new dtv pointer is. The __membarrier function has a in install_new_tls() 2760 /* Install new dtv for each thread. */ in install_new_tls() 2762 td->dtv = newdtv[j]; in install_new_tls()
|
/third_party/musl/ldso/linux/ |
H A D | dynlink.c | 2956 size_t old_cnt = self->dtv[0]; in install_new_tls() 2960 /* Copy existing dtv contents from all existing threads. */ in install_new_tls() 2962 memcpy(newdtv+i, td->dtv, in install_new_tls() 2966 /* Install new dtls into the enlarged, uninstalled dtv copies. */ in install_new_tls() 2982 /* Broadcast barrier to ensure contents of new dtv is visible in install_new_tls() 2983 * if the new dtv pointer is. The __membarrier function has a in install_new_tls() 2989 /* Install new dtv for each thread. */ in install_new_tls() 2991 td->dtv = newdtv[j]; in install_new_tls()
|