KKamau Bridgeman[TSAN] Disable clone_setns test case on PPC64 RHEL 7.9 Targets
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[compiler-rt][test] Add shared_unwind requirement When using a static libunwind, the check_memcpy.c can fail because it checks that tsan intercepted all memcpy/memmoves in the final binary. Though if the static libunwind is not instrumented, then this will fail because it may contain regular memcpy/memmoves. This adds a new REQUIRES check for ensuring that this test won't run unless a dynamic libunwind.so is provided. Differential Revision: https://reviews.llvm.org/D111194 | 4 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 | |
[tsan] Add pthread_cond_clockwait interceptor Disable the test on old systems. pthread_cond_clockwait is supported by glibc-2.30. It also supported by Android api 30 even though we do not run tsan on Android. Fixes https://github.com/google/sanitizers/issues/1259 Reviewed By: dvyukov | 5 年前 | |
tsan: enable clone interceptor only on Linux Clone does not exist on Mac. There are chances it will break on other OSes. Enable it incrementally starting with Linux only, other OSes can enable it later as needed. Reviewed By: melver, thakis Differential Revision: https://reviews.llvm.org/D113693 | 4 年前 | |
[TSAN] Disable clone_setns test case on PPC64 RHEL 7.9 Targets The compler-rt test case tsan/Linux/clone_setns.cpp fails on PowerPC64 RHEL 7.9 targets. Unshare fails with errno code EINVAL. It is unclear why this happens specifically on RHEL 7.9 and no other operating system like Ubuntu 18 or RHEL 8.4 for example. This patch uses marcos to disable the test case for ppc64 rhel7.9 because there are no XFAIL directives to target rhel 7.9 specifically. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D130086 | 3 年前 | |
tsan: deflake dlopen_static_tls.cpp Currently the test calls dlclose in the thread concurrently with the main thread calling a function from the dynamic library. This is not good. Wait for the main thread to call the function before calling dlclose. Depends on D115612. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D115613 | 4 年前 | |
tsan: don't instrument runtime callbacks in tests These runtime callbacks are supposed to be non-instrumented, we can't handle runtime recursion well, nor can we afford explicit recursion checks in the hot functions (memory access, function entry/exit). It used to work (not crash), but it won't work with the new runtime. Mark all runtime callbacks as non-instrumented. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D111157 | 4 年前 | |
tsan: avoid false positives related to epoll An application can use the mere fact of epoll_wait returning an fd as synchronization with the write on the fd that triggered the notification. This pattern come up in an internal networking server (b/229276331). If an fd is added to epoll, setup a link from the fd to the epoll fd and use it for synchronization as well. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D124518 | 4 年前 | |
tsan: Add a missing disable_sanitizer_instrumentation attribute Turns out the test was working by accident: we need to ensure TSan instrumentation is not called from the fork() hook, otherwise the tool will deadlock. Previously it worked because alloc_free_blocks() got inlined into __tsan_test_only_on_fork(), but it cannot always be the case. Adding __attribute__((disable_sanitizer_instrumentation)) will prevent TSan from instrumenting alloc_free_blocks(). Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D120050 | 4 年前 | |
tsan: add another fork deadlock test The test tries to provoke internal allocator to be locked during fork and then force the child process to use the internal allocator. This test sometimes deadlocks with the new tsan runtime. Depends on D114514. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D114515 | 4 年前 | |
tsan: add a simple syscall test Add a simple test that uses syscall annotations. Just to ensure at least basic functionality works. Also factor out annotated syscall wrappers into a separate header file as they may be useful for future tests. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D102223 | 5 年前 | |
[compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.* These lit configuration files are really Python source code. Using the .py file extension helps editors and tools use the correct language mode. LLVM and Clang already use this convention for lit configuration, this change simply applies it to all of compiler-rt. Reviewers: vitalybuka, dberris Differential Revision: https://reviews.llvm.org/D63658 llvm-svn: 364591 | 6 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 | |
tsan: fix crash during thread exit Use of gethostent provokes caching of some resources inside of libc. They are freed in __libc_thread_freeres very late in thread lifetime, after our ThreadFinish. __libc_thread_freeres calls free which previously crashed in malloc hooks. Fix it by setting ignore_interceptors for finished threads, which in turn prevents malloc hooks. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D113989 | 4 年前 | |
tsan: fix latent race size bug in test The test contains a race in read/write syscalls. The size of reported race depends on how the accessed memory range split into granules inside of tsan runtime. The test used to report access of size 8, because presumably the buffer ended up being aligned to 8 bytes. But after some unrelated changes this test started to report accesses of size 1 (presumably .data layout changed), which makes the test fail. Guarantee alignment of the buf object explicitly. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D107131 | 4 年前 | |
tsan: fix syscall test on aarch64 Add missing includes and use SYS_pipe2 instead of SYS_pipe as it's not present on some arches. Differential Revision: https://reviews.llvm.org/D102311 | 5 年前 | |
tsan: add pthread_tryjoin_np and pthread_timedjoin_np interceptors Add pthread_tryjoin_np() and pthread_timedjoin_np() interceptors on Linux, so that ThreadSanitizer can handle programs using these functions. Author: Yuri Per (yuri) Reviewed in: https://reviews.llvm.org/D54521 llvm-svn: 347383 | 7 年前 | |
tsan: add pthread_tryjoin_np and pthread_timedjoin_np interceptors Add pthread_tryjoin_np() and pthread_timedjoin_np() interceptors on Linux, so that ThreadSanitizer can handle programs using these functions. Author: Yuri Per (yuri) Reviewed in: https://reviews.llvm.org/D54521 llvm-svn: 347383 | 7 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 | |
compiler-rt: Rename .cc file in test/tsan to .cpp Like r367463, but for test/tsan. llvm-svn: 367656 | 6 年前 |