| /src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/ |
| sanitizer_tls_get_addr.cc | 38 static __thread DTLS dtls; variable in namespace:__sanitizer 40 // Make sure we properly destroy the DTLS objects: 46 static inline void DTLS_Deallocate(DTLS::DTV *dtv, uptr size) { 49 UnmapOrDie(dtv, size * sizeof(DTLS::DTV)); 54 if (dtls.dtv_size >= new_size) return; 56 new_size = Max(new_size, 4096UL / sizeof(DTLS::DTV)); 57 DTLS::DTV *new_dtv = 58 (DTLS::DTV *)MmapOrDie(new_size * sizeof(DTLS::DTV), "DTLS_Resize") [all...] |
| sanitizer_deadlock_detector.h | 199 void ensureCurrentEpoch(DeadlockDetectorTLS<BV> *dtls) { 200 dtls->ensureCurrentEpoch(current_epoch_); 206 bool onLockBefore(DeadlockDetectorTLS<BV> *dtls, uptr cur_node) { 207 ensureCurrentEpoch(dtls); 209 return g_.isReachable(cur_idx, dtls->getLocks(current_epoch_)); 212 u32 findLockContext(DeadlockDetectorTLS<BV> *dtls, uptr node) { 213 return dtls->findLockContext(nodeToIndex(node)); 216 // Add cur_node to the set of locks held currently by dtls. 217 void onLockAfter(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) { 218 ensureCurrentEpoch(dtls); [all...] |
| sanitizer_tls_get_addr.h | 13 // the lack of interface that would tell us about the Dynamic TLS (DTLS). 20 // Before 2.19, every DTLS chunk is allocated with __libc_memalign, 21 // which we intercept and thus know where is the DTLS. 22 // Since 2.19, DTLS chunks are allocated with __signal_safe_memalign, 36 struct DTLS { 37 // Array of DTLS chunks for the current Thread. 53 DTLS::DTV *DTLS_on_tls_get_addr(void *arg, void *res, uptr static_tls_begin, 56 DTLS *DTLS_Get(); 58 // Returns true if DTLS of suspended thread is in destruction process. 59 bool DTLSInDestruction(DTLS *dtls) [all...] |
| /src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/tests/ |
| sanitizer_deadlock_detector_test.cc | 38 dtls.clear(); 42 DeadlockDetectorTLS<BV> dtls; member in struct:ScopedDD 50 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunBasicTest 76 dtls.clear(); 79 EXPECT_FALSE(d.onLock(&dtls, n1)); 80 EXPECT_FALSE(d.onLock(&dtls, n2)); 81 d.onUnlock(&dtls, n2); 82 d.onUnlock(&dtls, n1); 84 EXPECT_FALSE(d.onLock(&dtls, n2)) 141 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunRemoveNodeTest 247 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunMultipleEpochsTest 292 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunCorrectEpochFlush 324 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunTryLockTest 351 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunOnFirstLockTest 389 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunRecusriveLockTest 419 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunLockContextTest 457 DeadlockDetectorTLS<BV> &dtls = sdd.dtls; local in function:RunRemoveEdgesTest [all...] |
| /src/sys/external/bsd/compiler_rt/dist/lib/msan/ |
| msan_thread.cc | 38 DTLS *dtls = DTLS_Get(); local in function:__msan::MsanThread::ClearShadowForThreadStackAndTLS 39 CHECK_NE(dtls, 0); 40 for (uptr i = 0; i < dtls->dtv_size; ++i) 41 __msan_unpoison((void *)(dtls->dtv[i].beg), dtls->dtv[i].size);
|
| /src/sys/external/bsd/compiler_rt/dist/lib/lsan/ |
| lsan_thread.cc | 56 DTLS *dtls; member in struct:__lsan::OnStartedArgs 67 dtls_ = args->dtls; 89 args.dtls = DTLS_Get(); 132 uptr *cache_end, DTLS **dtls) { 142 *dtls = context->dtls();
|
| lsan_thread.h | 21 struct DTLS; 37 DTLS *dtls() { return dtls_; } function in class:__lsan::ThreadContext 43 DTLS *dtls_;
|
| lsan_common.cc | 226 DTLS *dtls; local in function:__lsan::ProcessThreads 229 &cache_begin, &cache_end, &dtls); 293 if (dtls && !DTLSInDestruction(dtls)) { 294 for (uptr j = 0; j < dtls->dtv_size; ++j) { 295 uptr dtls_beg = dtls->dtv[j].beg; 296 uptr dtls_end = dtls_beg + dtls->dtv[j].size; 298 LOG_THREADS("DTLS %zu at %p-%p.\n", j, dtls_beg, dtls_end); 299 ScanRangeForPointers(dtls_beg, dtls_end, frontier, "DTLS", [all...] |
| lsan_common.h | 51 struct DTLS; 211 uptr *cache_end, DTLS **dtls);
|
| /src/sys/external/bsd/compiler_rt/dist/lib/asan/ |
| asan_thread.cc | 470 uptr *cache_end, DTLS **dtls) { 480 *dtls = t->dtls();
|
| asan_thread.h | 27 struct DTLS; 81 DTLS *dtls() { return dtls_; } function in class:__asan::AsanThread 163 DTLS *dtls_;
|