Searched refs:dtv (Results 1 - 4 of 4) sorted by relevance

/fuchsia/zircon/third_party/ulib/musl/src/thread/
H A D__tls_get_addr.c7 if (v[0] <= (size_t)self->head.dtv[0])
8 return (char*)self->head.dtv[v[0]] + v[1] + DTP_OFFSET;
H A Dallocate.c43 void** dtv; local
47 // | pthread | tcb | X | tls_1 | ... | tlsN | ... | tls_cnt | dtv[1] | ... |
50 // td tp dtv[1] dtv[n+1] dtv
55 dtv = (void**)(mem + libc.tls_size) - (libc.tls_cnt + 1);
57 // that tp + dtv[N] is aligned to align_N no matter what N is. So we need
69 // | tls_cnt | dtv[1] | ... | tls_n | ... | tls_1 | tcb | pthread | unused |
72 // dtv dtv[
[all...]
/fuchsia/zircon/third_party/ulib/musl/src/internal/
H A Dthreads_impl.h29 void** dtv; member in struct:__anon1756
97 static_assert(TP_OFFSETOF(head.dtv) == 8, "dtv misplaced in struct pthread");
/fuchsia/zircon/third_party/ulib/musl/ldso/
H A Ddynlink.c1604 if (v[0] <= (size_t)self->head.dtv[0]) {
1605 return (char*)self->head.dtv[v[0]] + v[1] + DTP_OFFSET;
1617 if (v[0] > (size_t)self->head.dtv[0]) {
1619 memcpy(newdtv, self->head.dtv, ((size_t)self->head.dtv[0] + 1) * sizeof(void*));
1621 self->head.dtv = newdtv;
1627 if (!p->tls_id || self->head.dtv[p->tls_id])
1631 self->head.dtv[p->tls_id] = mem;
1675 // and make dlopen use that for new dtv/TLS space when it fits.

Completed in 37 milliseconds