Lines Matching refs:pc
256 uptr pc) in ScopedInterceptor() argument
258 , pc_(pc) in ScopedInterceptor()
264 FuncEntry(thr, pc); in ScopedInterceptor()
266 if (!thr_->in_ignored_lib && libignore()->IsIgnored(pc)) { in ScopedInterceptor()
312 #define READ_STRING_OF_LEN(thr, pc, s, len, n) \ argument
313 MemoryAccessRange((thr), (pc), (uptr)(s), \
316 #define READ_STRING(thr, pc, s, n) \ argument
317 READ_STRING_OF_LEN((thr), (pc), (s), internal_strlen(s), (n))
352 AfterSleep(thr, pc); in TSAN_INTERCEPTOR()
359 AfterSleep(thr, pc); in TSAN_INTERCEPTOR()
366 AfterSleep(thr, pc); in TSAN_INTERCEPTOR()
379 uptr pc = 0; in at_exit_wrapper() local
380 Acquire(thr, pc, (uptr)arg); in at_exit_wrapper()
386 static int setup_at_exit_wrapper(ThreadState *thr, uptr pc, void(*f)(),
396 return setup_at_exit_wrapper(thr, pc, (void(*)())f, 0, 0); in TSAN_INTERCEPTOR()
404 return setup_at_exit_wrapper(thr, pc, (void(*)())f, arg, dso); in TSAN_INTERCEPTOR()
407 static int setup_at_exit_wrapper(ThreadState *thr, uptr pc, void(*f)(), in setup_at_exit_wrapper() argument
412 Release(thr, pc, (uptr)ctx); in setup_at_exit_wrapper()
415 ThreadIgnoreBegin(thr, pc); in setup_at_exit_wrapper()
417 ThreadIgnoreEnd(thr, pc); in setup_at_exit_wrapper()
424 uptr pc = 0; in on_exit_wrapper() local
425 Acquire(thr, pc, (uptr)arg); in on_exit_wrapper()
438 Release(thr, pc, (uptr)ctx); in TSAN_INTERCEPTOR()
441 ThreadIgnoreBegin(thr, pc); in TSAN_INTERCEPTOR()
443 ThreadIgnoreEnd(thr, pc); in TSAN_INTERCEPTOR()
592 p = user_alloc(thr, pc, size); in TSAN_INTERCEPTOR()
600 return user_alloc(thr, pc, sz, align); in TSAN_INTERCEPTOR()
609 p = user_calloc(thr, pc, size, n); in TSAN_INTERCEPTOR()
622 p = user_realloc(thr, pc, p, size); in TSAN_INTERCEPTOR()
635 user_free(thr, pc, p); in TSAN_INTERCEPTOR()
645 user_free(thr, pc, p); in TSAN_INTERCEPTOR()
657 MemoryAccessRange(thr, pc, (uptr)dst, srclen + 1, true); in TSAN_INTERCEPTOR()
658 MemoryAccessRange(thr, pc, (uptr)src, srclen + 1, false); in TSAN_INTERCEPTOR()
665 MemoryAccessRange(thr, pc, (uptr)dst, n, true); in TSAN_INTERCEPTOR()
666 MemoryAccessRange(thr, pc, (uptr)src, min(srclen + 1, n), false); in TSAN_INTERCEPTOR()
698 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
701 MemoryRangeImitateWrite(thr, pc, (uptr)res, sz); in TSAN_INTERCEPTOR()
703 MemoryResetRange(thr, pc, (uptr)res, sz); in TSAN_INTERCEPTOR()
717 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
720 MemoryRangeImitateWrite(thr, pc, (uptr)res, sz); in TSAN_INTERCEPTOR()
722 MemoryResetRange(thr, pc, (uptr)res, sz); in TSAN_INTERCEPTOR()
746 return user_alloc(thr, pc, sz, align); in TSAN_INTERCEPTOR()
756 return user_alloc(thr, pc, sz, align); in TSAN_INTERCEPTOR()
761 return user_alloc(thr, pc, sz, GetPageSizeCached()); in TSAN_INTERCEPTOR()
769 return user_alloc(thr, pc, sz, GetPageSizeCached()); in TSAN_INTERCEPTOR()
779 *memptr = user_alloc(thr, pc, sz, align); in TSAN_INTERCEPTOR()
810 Acquire(thr, pc, (uptr)g); in STDCXX_INTERCEPTOR()
820 Release(thr, pc, (uptr)g); in STDCXX_INTERCEPTOR()
931 ThreadIgnoreBegin(thr, pc); in TSAN_INTERCEPTOR()
933 ThreadIgnoreEnd(thr, pc); in TSAN_INTERCEPTOR()
936 int tid = ThreadCreate(thr, pc, *(uptr*)th, in TSAN_INTERCEPTOR()
957 int tid = ThreadTid(thr, pc, (uptr)th); in TSAN_INTERCEPTOR()
958 ThreadIgnoreBegin(thr, pc); in TSAN_INTERCEPTOR()
960 ThreadIgnoreEnd(thr, pc); in TSAN_INTERCEPTOR()
962 ThreadJoin(thr, pc, tid); in TSAN_INTERCEPTOR()
971 int tid = ThreadTid(thr, pc, (uptr)th); in TSAN_INTERCEPTOR()
974 ThreadDetach(thr, pc, tid); in TSAN_INTERCEPTOR()
1020 uptr pc; member
1033 MutexLock(arg->thr, arg->pc, (uptr)arg->m); in cond_mutex_unlock()
1042 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), true); in INTERCEPTOR()
1046 static int cond_wait(ThreadState *thr, uptr pc, ScopedInterceptor *si, in cond_wait() argument
1049 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false); in cond_wait()
1050 MutexUnlock(thr, pc, (uptr)m); in cond_wait()
1051 CondMutexUnlockCtx arg = {si, thr, pc, m}; in cond_wait()
1061 if (res == errno_EOWNERDEAD) MutexRepair(thr, pc, (uptr)m); in cond_wait()
1062 MutexLock(thr, pc, (uptr)m); in cond_wait()
1069 return cond_wait(thr, pc, &si, (int (*)(void *c, void *m, void *abstime))REAL( in INTERCEPTOR()
1077 return cond_wait(thr, pc, &si, REAL(pthread_cond_timedwait), cond, m, in INTERCEPTOR()
1086 return cond_wait(thr, pc, &si, REAL(pthread_cond_timedwait_relative_np), cond, in INTERCEPTOR()
1094 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false); in INTERCEPTOR()
1101 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false); in INTERCEPTOR()
1108 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), true); in INTERCEPTOR()
1129 MutexCreate(thr, pc, (uptr)m, false, recursive, false); in TSAN_INTERCEPTOR()
1138 MutexDestroy(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1147 MutexRepair(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1149 MutexLock(thr, pc, (uptr)m, /*rec=*/1, /*try_lock=*/true); in TSAN_INTERCEPTOR()
1158 MutexLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1169 MutexCreate(thr, pc, (uptr)m, false, false, false); in TSAN_INTERCEPTOR()
1178 MutexDestroy(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1187 MutexLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1196 MutexLock(thr, pc, (uptr)m, /*rec=*/1, /*try_lock=*/true); in TSAN_INTERCEPTOR()
1203 MutexUnlock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1213 MutexCreate(thr, pc, (uptr)m, true, false, false); in TSAN_INTERCEPTOR()
1222 MutexDestroy(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1231 MutexReadLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1240 MutexReadLock(thr, pc, (uptr)m, /*try_lock=*/true); in TSAN_INTERCEPTOR()
1250 MutexReadLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1260 MutexLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1269 MutexLock(thr, pc, (uptr)m, /*rec=*/1, /*try_lock=*/true); in TSAN_INTERCEPTOR()
1279 MutexLock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1287 MutexReadOrWriteUnlock(thr, pc, (uptr)m); in TSAN_INTERCEPTOR()
1295 MemoryWrite(thr, pc, (uptr)b, kSizeLog1); in TSAN_INTERCEPTOR()
1302 MemoryWrite(thr, pc, (uptr)b, kSizeLog1); in TSAN_INTERCEPTOR()
1309 Release(thr, pc, (uptr)b); in TSAN_INTERCEPTOR()
1310 MemoryRead(thr, pc, (uptr)b, kSizeLog1); in TSAN_INTERCEPTOR()
1312 MemoryRead(thr, pc, (uptr)b, kSizeLog1); in TSAN_INTERCEPTOR()
1314 Acquire(thr, pc, (uptr)b); in TSAN_INTERCEPTOR()
1334 Release(thr, pc, (uptr)o); in TSAN_INTERCEPTOR()
1342 Acquire(thr, pc, (uptr)o); in TSAN_INTERCEPTOR()
1351 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1363 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1368 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1377 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1389 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1399 READ_STRING(thr, pc, name, 0); in TSAN_INTERCEPTOR()
1402 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1409 READ_STRING(thr, pc, name, 0); in TSAN_INTERCEPTOR()
1412 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1422 READ_STRING(thr, pc, name, 0); in TSAN_INTERCEPTOR()
1425 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1432 READ_STRING(thr, pc, name, 0); in TSAN_INTERCEPTOR()
1435 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1447 FdDup(thr, pc, oldfd, newfd, true); in TSAN_INTERCEPTOR()
1455 FdDup(thr, pc, oldfd, newfd2, false); in TSAN_INTERCEPTOR()
1464 FdDup(thr, pc, oldfd, newfd2, false); in TSAN_INTERCEPTOR()
1474 FdEventCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1486 FdClose(thr, pc, fd); in TSAN_INTERCEPTOR()
1489 FdSignalCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1502 FdInotifyCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1515 FdInotifyCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1527 FdSocketCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1535 FdPipeCreate(thr, pc, fd[0], fd[1]); in TSAN_INTERCEPTOR()
1541 FdSocketConnecting(thr, pc, fd); in TSAN_INTERCEPTOR()
1544 FdSocketConnect(thr, pc, fd); in TSAN_INTERCEPTOR()
1552 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1560 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1567 FdClose(thr, pc, fd); in TSAN_INTERCEPTOR()
1575 FdClose(thr, pc, fd); in TSAN_INTERCEPTOR()
1591 FdClose(thr, pc, fds[i]); in TSAN_INTERCEPTOR()
1604 FdPipeCreate(thr, pc, pipefd[0], pipefd[1]); in TSAN_INTERCEPTOR()
1613 FdPipeCreate(thr, pc, pipefd[0], pipefd[1]); in TSAN_INTERCEPTOR()
1620 Release(thr, pc, File2addr(path)); in TSAN_INTERCEPTOR()
1631 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1643 FdFileCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1656 MemoryAccessRange(thr, pc, (uptr)ptr, size * nmemb, true); in TSAN_INTERCEPTOR()
1665 MemoryAccessRange(thr, pc, (uptr)p, size * nmemb, false); in TSAN_INTERCEPTOR()
1685 MemoryAccessRange(thr, pc, (uptr)s, internal_strlen(s), false); in TSAN_INTERCEPTOR()
1691 Release(thr, pc, Dir2addr(path)); in TSAN_INTERCEPTOR()
1700 FdClose(thr, pc, fd); in TSAN_INTERCEPTOR()
1710 FdPollCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1718 FdPollCreate(thr, pc, fd); in TSAN_INTERCEPTOR()
1725 FdAccess(thr, pc, epfd); in TSAN_INTERCEPTOR()
1727 FdAccess(thr, pc, fd); in TSAN_INTERCEPTOR()
1729 FdRelease(thr, pc, epfd); in TSAN_INTERCEPTOR()
1737 FdAccess(thr, pc, epfd); in TSAN_INTERCEPTOR()
1740 FdAcquire(thr, pc, epfd); in TSAN_INTERCEPTOR()
1748 FdAccess(thr, pc, epfd); in TSAN_INTERCEPTOR()
1751 FdAcquire(thr, pc, epfd); in TSAN_INTERCEPTOR()
1790 volatile uptr pc = sigact ? in CallUserSignalHandler() local
1793 if (pc != (uptr)SIG_DFL && pc != (uptr)SIG_IGN) { in CallUserSignalHandler()
1795 ((sigactionhandler_t)pc)(sig, info, uctx); in CallUserSignalHandler()
1797 ((sighandler_t)pc)(sig); in CallUserSignalHandler()
1817 ObtainCurrentStack(thr, StackTrace::GetNextInstructionPc(pc), &stack); in CallUserSignalHandler()
1944 ReleaseStore(thr, pc, (uptr)&sigactions[sig]); in TSAN_INTERCEPTOR()
2022 ThreadIgnoreBegin(thr, pc); in TSAN_INTERCEPTOR()
2024 ThreadIgnoreEnd(thr, pc); in TSAN_INTERCEPTOR()
2032 ForkBefore(thr, pc); in TSAN_INTERCEPTOR()
2042 ForkChildAfter(thr, pc); in TSAN_INTERCEPTOR()
2043 FdOnFork(thr, pc); in TSAN_INTERCEPTOR()
2046 ForkParentAfter(thr, pc); in TSAN_INTERCEPTOR()
2049 ForkParentAfter(thr, pc); in TSAN_INTERCEPTOR()
2076 uptr pc; member
2094 MemoryResetRange(cbdata->thr, cbdata->pc, (uptr)info->dlpi_name, in dl_iterate_phdr_cb()
2100 MemoryResetRange(cbdata->thr, cbdata->pc, (uptr)info->dlpi_name, in dl_iterate_phdr_cb()
2109 cbdata.pc = pc; in TSAN_INTERCEPTOR()
2126 const uptr pc; member
2130 static void HandleRecvmsg(ThreadState *thr, uptr pc, in HandleRecvmsg() argument
2135 FdEventCreate(thr, pc, fds[i]); in HandleRecvmsg()
2166 ((TsanInterceptorContext *)ctx)->pc, (uptr)ptr, size, \
2171 ((TsanInterceptorContext *) ctx)->pc, (uptr) ptr, size, \
2176 TsanInterceptorContext _ctx = {thr, caller_pc, pc}; \
2182 TsanInterceptorContext _ctx = {thr, caller_pc, pc}; \
2187 Acquire(thr, pc, File2addr(path)); \
2190 if (fd >= 0) FdFileCreate(thr, pc, fd); \
2196 if (fd >= 0) FdClose(thr, pc, fd); \
2206 Acquire(((TsanInterceptorContext *) ctx)->thr, pc, u)
2209 Release(((TsanInterceptorContext *) ctx)->thr, pc, u)
2212 Acquire(((TsanInterceptorContext *) ctx)->thr, pc, Dir2addr(path))
2215 FdAcquire(((TsanInterceptorContext *) ctx)->thr, pc, fd)
2218 FdRelease(((TsanInterceptorContext *) ctx)->thr, pc, fd)
2221 FdAccess(((TsanInterceptorContext *) ctx)->thr, pc, fd)
2224 FdSocketAccept(((TsanInterceptorContext *) ctx)->thr, pc, fd, newfd)
2239 ((TsanInterceptorContext *)ctx)->pc, (uptr)m)
2243 ((TsanInterceptorContext *)ctx)->pc, (uptr)m)
2247 ((TsanInterceptorContext *)ctx)->pc, (uptr)m)
2251 ((TsanInterceptorContext *)ctx)->pc, (uptr)m)
2256 ((TsanInterceptorContext *)ctx)->pc, msg)
2296 static void syscall_access_range(uptr pc, uptr p, uptr s, bool write) { in syscall_access_range() argument
2298 MemoryAccessRange(thr, pc, p, s, write); in syscall_access_range()
2301 static void syscall_acquire(uptr pc, uptr addr) { in syscall_acquire() argument
2303 Acquire(thr, pc, addr); in syscall_acquire()
2307 static void syscall_release(uptr pc, uptr addr) { in syscall_release() argument
2310 Release(thr, pc, addr); in syscall_release()
2313 static void syscall_fd_close(uptr pc, int fd) { in syscall_fd_close() argument
2315 FdClose(thr, pc, fd); in syscall_fd_close()
2318 static USED void syscall_fd_acquire(uptr pc, int fd) { in syscall_fd_acquire() argument
2320 FdAcquire(thr, pc, fd); in syscall_fd_acquire()
2324 static USED void syscall_fd_release(uptr pc, int fd) { in syscall_fd_release() argument
2327 FdRelease(thr, pc, fd); in syscall_fd_release()
2330 static void syscall_pre_fork(uptr pc) { in syscall_pre_fork() argument
2332 ForkBefore(thr, pc); in syscall_pre_fork()
2335 static void syscall_post_fork(uptr pc, int pid) { in syscall_post_fork() argument
2339 ForkChildAfter(thr, pc); in syscall_post_fork()
2340 FdOnFork(thr, pc); in syscall_post_fork()
2343 ForkParentAfter(thr, pc); in syscall_post_fork()
2346 ForkParentAfter(thr, pc); in syscall_post_fork()