lib/libtsan/interception/interception.h | 10 + lib/libtsan/interception/interception_linux.cpp | 63 ++++- lib/libtsan/interception/interception_win.cpp | 25 ++ lib/libtsan/sanitizer_common/sanitizer_allocator.cpp | 5 +- lib/libtsan/sanitizer_common/sanitizer_allocator.h | 6 - lib/libtsan/sanitizer_common/sanitizer_allocator_dlsym.h | 10 +- lib/libtsan/sanitizer_common/sanitizer_allocator_internal.h | 5 +- lib/libtsan/sanitizer_common/sanitizer_asm.h | 6 +- lib/libtsan/sanitizer_common/sanitizer_common.h | 23 +- lib/libtsan/sanitizer_common/sanitizer_common_interceptors.inc | 67 ++++- lib/libtsan/sanitizer_common/sanitizer_common_interface.inc | 1 - lib/libtsan/sanitizer_common/sanitizer_dense_map.h | 152 +++++------ lib/libtsan/sanitizer_common/sanitizer_dense_map_info.h | 25 -- lib/libtsan/sanitizer_common/sanitizer_errno.h | 2 + lib/libtsan/sanitizer_common/sanitizer_flag_parser.h | 4 +- lib/libtsan/sanitizer_common/sanitizer_fuchsia.cpp | 4 +- lib/libtsan/sanitizer_common/sanitizer_haiku.cpp | 4 + lib/libtsan/sanitizer_common/sanitizer_interface_internal.h | 5 - lib/libtsan/sanitizer_common/sanitizer_internal_defs.h | 28 ++- lib/libtsan/sanitizer_common/sanitizer_linux.cpp | 93 ++++++- lib/libtsan/sanitizer_common/sanitizer_linux.h | 3 +- lib/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp | 8 +- lib/libtsan/sanitizer_common/sanitizer_lzw.h | 4 +- lib/libtsan/sanitizer_common/sanitizer_mac.cpp | 32 ++- lib/libtsan/sanitizer_common/sanitizer_netbsd.cpp | 4 + lib/libtsan/sanitizer_common/sanitizer_platform.h | 35 ++- lib/libtsan/sanitizer_common/sanitizer_platform_interceptors.h | 7 +- lib/libtsan/sanitizer_common/sanitizer_platform_limits_linux.cpp | 2 +- lib/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp | 82 ++++-- lib/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h | 82 +++++- lib/libtsan/sanitizer_common/sanitizer_platform_limits_solaris.cpp | 1 + lib/libtsan/sanitizer_common/sanitizer_posix.cpp | 16 +- lib/libtsan/sanitizer_common/sanitizer_posix.h | 4 +- lib/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp | 21 +- lib/libtsan/sanitizer_common/sanitizer_redefine_builtins.h | 22 +- lib/libtsan/sanitizer_common/sanitizer_solaris.cpp | 4 + lib/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp | 14 +- lib/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp | 14 +- lib/libtsan/sanitizer_common/sanitizer_symbolizer_report.cpp | 13 +- lib/libtsan/sanitizer_common/sanitizer_unwind_win.cpp | 49 +++- lib/libtsan/sanitizer_common/sanitizer_win.cpp | 7 +- lib/libtsan/tsan_adaptive_delay.cpp | 433 ++++++++++++++++++++++++++++++++ lib/libtsan/tsan_adaptive_delay.h | 173 +++++++++++++ lib/libtsan/tsan_flags.cpp | 2 +- lib/libtsan/tsan_flags.inc | 27 ++ lib/libtsan/tsan_interceptors_posix.cpp | 26 +- lib/libtsan/tsan_interface_ann.cpp | 14 +- lib/libtsan/tsan_interface_atomic.cpp | 12 + lib/libtsan/tsan_platform.h | 17 +- lib/libtsan/tsan_platform_linux.cpp | 12 + lib/libtsan/tsan_report.cpp | 5 +- lib/libtsan/tsan_rtl.cpp | 5 + lib/libtsan/tsan_rtl.h | 3 + lib/libtsan/ubsan/ubsan_flags.h | 4 + src/libs/libtsan.zig | 1 + 55 files changed, 1399 insertions(+), 297 deletions(-)