| /freebsd/lib/libc/gen/ |
| H A D | tls.c | 83 struct dtv *dtv; in __libc_tls_get_addr() local 86 dtv = _tcb_get()->tcb_dtv; in __libc_tls_get_addr() 88 return (dtv->dtv_slots[ti->ti_module - 1].dtvs_tls + in __libc_tls_get_addr() 146 * points to DTV vector and DTV values are real addresses (without bias). 152 * any alignment gap[4]. Only TLS should be aligned. The TCB[0] points to DTV 153 * vector and DTV values are biased by constant value (TLS_DTV_OFFSET) from 154 * real addresses. However, like RTLD, we don't actually bias the DTV values, 203 struct dtv *dtv; in __libc_free_tls() local 205 dtv = ((struct tcb *)tcb)->tcb_dtv; in __libc_free_tls() 206 __je_bootstrap_free(dtv); in __libc_free_tls() [all …]
|
| /freebsd/contrib/llvm-project/compiler-rt/lib/sanitizer_common/ |
| H A D | sanitizer_tls_get_addr.cpp | 68 static DTLS::DTV *DTLS_Find(uptr id) { in DTLS_Find() 113 DTLS::DTV *DTLS_on_tls_get_addr(void *arg_void, void *res, in DTLS_on_tls_get_addr() 118 DTLS::DTV *dtv = DTLS_Find(dso_id); in DTLS_on_tls_get_addr() local 119 if (!dtv || dtv->beg) in DTLS_on_tls_get_addr() 149 dtv->beg = tls_beg; in DTLS_on_tls_get_addr() 150 dtv->size = tls_size; in DTLS_on_tls_get_addr() 151 return dtv; in DTLS_on_tls_get_addr() 170 DTLS::DTV *DTLS_on_tls_get_addr(void *arg, void *res,
|
| H A D | sanitizer_tls_get_addr.h | 47 struct DTV { struct 52 DTV dtvs[(4096UL - sizeof(next)) / sizeof(DTLS::DTV)]; argument 77 DTLS::DTV *DTLS_on_tls_get_addr(void *arg, void *res, uptr static_tls_begin,
|
| /freebsd/contrib/llvm-project/compiler-rt/lib/msan/ |
| H A D | msan_thread.cpp | 40 ForEachDVT(dtls, [](const DTLS::DTV &dtv, int id) { in ClearShadowForThreadStackAndTLS() argument 41 __msan_unpoison((void *)(dtv.beg), dtv.size); in ClearShadowForThreadStackAndTLS()
|
| /freebsd/contrib/llvm-project/compiler-rt/lib/dfsan/ |
| H A D | dfsan_thread.cpp | 41 ForEachDVT(dtls, [](const DTLS::DTV &dtv, int id) { in ClearShadowForThreadStackAndTLS() argument 42 dfsan_set_label(0, (void *)(dtv.beg), dtv.size); in ClearShadowForThreadStackAndTLS()
|
| H A D | dfsan_interceptors.cpp | 185 DTLS::DTV *dtv = DTLS_on_tls_get_addr(arg, res, tls_begin, tls_end); in INTERCEPTOR() local 186 if (dtv) { in INTERCEPTOR() 188 COMMON_INTERCEPTOR_INITIALIZE_RANGE((void *)dtv->beg, dtv->size); in INTERCEPTOR()
|
| /freebsd/libexec/rtld-elf/aarch64/ |
| H A D | rtld_start.S | 168 ldr x0, [x4] /* DTV pointer */ 169 ldr x2, [x0] /* dtv[0] (generation count) */ 172 b.ne 1f /* dtv[0] != tlsdec->dtv_gen */ 176 ldr x3, [x0, w2, sxtw #3] /* dtv[tlsdesc->tls_index + 1] */ 179 /* Return (dtv[tlsdesc->tls_index + 1] + tlsdesc->tls_offs - tp) */
|
| /freebsd/libexec/rtld-elf/ |
| H A D | rtld.c | 309 Elf_Addr tls_dtv_generation = 1; /* Used to detect when dtv size changes */ 5390 struct dtv *newdtv, *dtv; in tls_get_addr_slow() local 5394 dtv = tcb->tcb_dtv; in tls_get_addr_slow() 5395 /* Check dtv generation in case new modules have arrived */ in tls_get_addr_slow() 5396 if (dtv->dtv_gen != tls_dtv_generation) { in tls_get_addr_slow() 5399 newdtv = xcalloc(1, sizeof(struct dtv) + tls_max_index * in tls_get_addr_slow() 5401 to_copy = dtv->dtv_size; in tls_get_addr_slow() 5404 memcpy(newdtv->dtv_slots, dtv->dtv_slots, to_copy * in tls_get_addr_slow() 5408 free(dtv); in tls_get_addr_slow() 5411 dtv = tcb->tcb_dtv = newdtv; in tls_get_addr_slow() [all …]
|
| /freebsd/sys/sys/ |
| H A D | _tls_variant_i.h | 44 struct dtv { struct 51 struct dtv *tcb_dtv; /* required by rtld */
|
| /freebsd/sys/x86/include/ |
| H A D | tls.h | 43 struct dtv { struct 55 struct dtv *tcb_dtv; /* required by rtld */
|
| /freebsd/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/ |
| H A D | HexagonDYLDRendezvous.h | 52 uint32_t dtv_offset; // offset of DTV pointer within pthread 53 uint32_t dtv_slot_size; // size of one DTV slot 55 uint32_t tls_offset; // offset of TLS pointer within DTV slot
|
| H A D | DynamicLoaderHexagonDYLD.cpp | 578 // Lookup the DTV structure for this thread. in GetThreadLocalData() 580 addr_t dtv = ReadPointer(dtv_ptr); in GetThreadLocalData() local 581 if (dtv == LLDB_INVALID_ADDRESS) in GetThreadLocalData() 585 addr_t dtv_slot = dtv + metadata.dtv_slot_size * modid; in GetThreadLocalData()
|
| /freebsd/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/ |
| H A D | DYLDRendezvous.h | 136 uint32_t dtv_offset; // offset of DTV pointer within pthread 137 uint32_t dtv_slot_size; // size of one DTV slot 139 uint32_t tls_offset; // offset of TLS pointer within DTV slot
|
| H A D | DynamicLoaderPOSIXDYLD.cpp | 794 // Lookup the DTV structure for this thread. in GetThreadLocalData() 796 addr_t dtv = ReadPointer(dtv_ptr); in GetThreadLocalData() local 797 if (dtv == LLDB_INVALID_ADDRESS) { in GetThreadLocalData() 798 LLDB_LOGF(log, "GetThreadLocalData error: fail to read dtv"); in GetThreadLocalData() 803 addr_t dtv_slot = dtv + metadata.dtv_slot_size * modid; in GetThreadLocalData()
|
| /freebsd/sys/arm/nvidia/ |
| H A D | tegra_pinmux.c | 224 GMUX(0x17C, S, 1, uart3_cts_n_pa1, uartc, sdmmc1, dtv, gmi), 225 GMUX(0x180, C, 0, uart3_rts_n_pc0, uartc, pwm0, dtv, gmi), 235 GMUX(0x1A8, P, 3, dap4_fs_pp4, i2s3, gmi, dtv, rsvd4), 237 GMUX(0x1B0, P, 5, dap4_dout_pp6, i2s3, gmi, dtv, rsvd4), 243 GMUX(0x1C8, I, 7, pi7, rsvd1, trace, gmi, dtv), 261 GMUX(0x210, H, 0, ph0, pwm0, trace, gmi, dtv), 267 GMUX(0x228, H, 6, ph6, sdmmc2, trace, gmi, dtv), 268 GMUX(0x22C, H, 7, ph7, sdmmc2, trace, gmi, dtv),
|
| /freebsd/contrib/llvm-project/compiler-rt/lib/lsan/ |
| H A D | lsan_common.cpp | 194 // addresses are stored in a dynamically allocated array (the DTV) which is 195 // referenced from the static TLS. Unfortunately, we can't just rely on the DTV 197 // the DTV. This is because the initial DTV is allocated before our interception 504 ForEachDVT(dtls, [&](const DTLS::DTV &dtv, int id) { in ProcessThreads() argument 505 uptr dtls_beg = dtv.beg; in ProcessThreads() 506 uptr dtls_end = dtls_beg + dtv.size; in ProcessThreads()
|
| /freebsd/sys/contrib/device-tree/src/arm64/lg/ |
| H A D | lg1313-ref.dts | 16 model = "LG Electronics, DTV SoC LG1313 Reference Board";
|
| H A D | lg1312-ref.dts | 16 model = "LG Electronics, DTV SoC LG1312 Reference Board";
|
| /freebsd/sys/contrib/device-tree/Bindings/display/msm/ |
| H A D | mdp4.txt | 36 Port 3 -> DTV
|
| /freebsd/sbin/ipf/ippool/ |
| H A D | ippool.8 | 29 -s [-dtv]
|
| /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ |
| H A D | nvidia,tegra210-pinmux.yaml | 86 displayb, dmic1, dmic2, dmic3, dp, dtv, extperiph3, i2c1,
|
| H A D | nvidia,tegra114-pinmux.yaml | 89 displaya, displaya_alt, displayb, dtv, emc_dll, extperiph1,
|
| H A D | nvidia,tegra114-pinmux.txt | 86 displaya_alt, displayb, dtv, emc_dll, extperiph1, extperiph2,
|
| H A D | nvidia,tegra124-pinmux.txt | 105 displaya_alt, displayb, dtv, extperiph1, extperiph2, extperiph3,
|
| /freebsd/sys/contrib/device-tree/Bindings/media/ |
| H A D | rc.yaml | 148 - rc-twinhan-dtv-cab-ci
|