984400f04e
Bump asan/tsan versions for upstream commits: commit f1bb30a4956f83e46406d6082e5d376ce65391e0 Author: Vitaly Buka <vitalybuka@google.com> Date: Thu Aug 26 10:25:09 2021 -0700 [sanitizer] No THREADLOCAL in qsort and bsearch qsort can reuse qsort_r if available. bsearch always passes key as the first comparator argument, so we can use it to wrap the original comparator. Differential Revision: https://reviews.llvm.org/D108751 commit d77b476c1953bcb0a608b2d6a4f2dd9fe0b43967 Author: Dmitry Vyukov <dvyukov@google.com> Date: Mon Aug 2 16:52:53 2021 +0200 tsan: avoid extra call indirection in unaligned access functions Currently unaligned access functions are defined in tsan_interface.cpp and do a real call to MemoryAccess. This means we have a real call and no read/write constant propagation. Unaligned memory access can be quite hot for some programs (observed on some compression algorithms with ~90% of unaligned accesses). Move them to tsan_interface_inl.h to avoid the additional call and enable constant propagation. Also reorder the actual store and memory access handling for __sanitizer_unaligned_store callbacks to enable tail calling in MemoryAccess. Depends on D107282. Reviewed By: vitalybuka, melver commit 97795be22f634667ce7a022398c59ccc9f7440eb Author: Dmitry Vyukov <dvyukov@google.com> Date: Fri Jul 30 08:35:11 2021 +0200 tsan: optimize test-only barrier The updated lots_of_threads.c test with 300 threads started running for too long on machines with low hardware parallelism (e.g. taskset -c 0-1). On lots of CPUs it finishes in ~2 secs. But with taskset -c 0-1 it runs for hundreds of seconds effectively spinning in the barrier in the sleep loop. We now have the handy futex API in sanitizer_common. Use it instead of the passive spin loop. It makes the test run only faster with taskset -c 0-1, it runs for ~1.5 secs, while with full parallelism it still runs for ~2 secs (but consumes less CPU time). Depends on D107131. Reviewed By: vitalybuka |
||
---|---|---|
.. | ||
asan_activation_flags.inc | ||
asan_activation.cpp | ||
asan_activation.h | ||
asan_allocator.cpp | ||
asan_allocator.h | ||
asan_debugging.cpp | ||
asan_descriptions.cpp | ||
asan_descriptions.h | ||
asan_errors.cpp | ||
asan_errors.h | ||
asan_fake_stack.cpp | ||
asan_fake_stack.h | ||
asan_flags.cpp | ||
asan_flags.h | ||
asan_flags.inc | ||
asan_fuchsia.cpp | ||
asan_globals_win.cpp | ||
asan_globals.cpp | ||
asan_init_version.h | ||
asan_interceptors_memintrinsics.cpp | ||
asan_interceptors_memintrinsics.h | ||
asan_interceptors_vfork.S | ||
asan_interceptors.cpp | ||
asan_interceptors.h | ||
asan_interface_internal.h | ||
asan_interface.inc | ||
asan_internal.h | ||
asan_linux.cpp | ||
asan_lock.h | ||
asan_mac.cpp | ||
asan_malloc_linux.cpp | ||
asan_malloc_mac.cpp | ||
asan_malloc_win.cpp | ||
asan_mapping_sparc64.h | ||
asan_mapping.h | ||
asan_memory_profile.cpp | ||
asan_new_delete.cpp | ||
asan_poisoning.cpp | ||
asan_poisoning.h | ||
asan_posix.cpp | ||
asan_preinit.cpp | ||
asan_premap_shadow.cpp | ||
asan_premap_shadow.h | ||
asan_report.cpp | ||
asan_report.h | ||
asan_rtl.cpp | ||
asan_scariness_score.h | ||
asan_shadow_setup.cpp | ||
asan_stack.cpp | ||
asan_stack.h | ||
asan_stats.cpp | ||
asan_stats.h | ||
asan_suppressions.cpp | ||
asan_suppressions.h | ||
asan_thread.cpp | ||
asan_thread.h | ||
asan_win_dll_thunk.cpp | ||
asan_win_dynamic_runtime_thunk.cpp | ||
asan_win_weak_interception.cpp | ||
asan_win.cpp | ||
libtool-version | ||
Makefile.am | ||
Makefile.in |