lib/libtsan/builtins/assembly.h | 57 ++- lib/libtsan/interception/interception.h | 27 +- lib/libtsan/interception/interception_aix.cpp | 45 +++ lib/libtsan/interception/interception_aix.h | 36 ++ lib/libtsan/interception/interception_linux.cpp | 4 +- lib/libtsan/interception/interception_linux.h | 4 +- lib/libtsan/interception/interception_win.cpp | 9 +- lib/libtsan/sanitizer_common/sanitizer_allocator_internal.h | 2 +- lib/libtsan/sanitizer_common/sanitizer_allocator_local_cache.h | 2 +- lib/libtsan/sanitizer_common/sanitizer_atomic_clang.h | 15 + lib/libtsan/sanitizer_common/sanitizer_common.h | 21 +- lib/libtsan/sanitizer_common/sanitizer_common_interceptors.inc | 151 ++++++-- lib/libtsan/sanitizer_common/sanitizer_common_interceptors_format.inc | 4 + lib/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc | 20 +- lib/libtsan/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc | 8 +- lib/libtsan/sanitizer_common/sanitizer_common_syscalls.inc | 22 ++ lib/libtsan/sanitizer_common/sanitizer_errno.h | 2 + lib/libtsan/sanitizer_common/sanitizer_errno_codes.h | 21 +- lib/libtsan/sanitizer_common/sanitizer_file.cpp | 70 +++- lib/libtsan/sanitizer_common/sanitizer_fuchsia.cpp | 2 + lib/libtsan/sanitizer_common/sanitizer_fuchsia.h | 7 + lib/libtsan/sanitizer_common/sanitizer_haiku.cpp | 361 +++++++++++++++++++ lib/libtsan/sanitizer_common/sanitizer_linux.cpp | 143 ++++---- lib/libtsan/sanitizer_common/sanitizer_linux.h | 10 +- lib/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp | 115 ++---- lib/libtsan/sanitizer_common/sanitizer_mac.cpp | 67 ++-- lib/libtsan/sanitizer_common/sanitizer_mac.h | 9 +- lib/libtsan/sanitizer_common/sanitizer_malloc_mac.inc | 16 + lib/libtsan/sanitizer_common/sanitizer_platform.h | 25 +- lib/libtsan/sanitizer_common/sanitizer_platform_interceptors.h | 84 +++-- lib/libtsan/sanitizer_common/sanitizer_platform_limits_freebsd.cpp | 10 +- lib/libtsan/sanitizer_common/sanitizer_platform_limits_freebsd.h | 12 +- lib/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp | 53 ++- lib/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h | 608 +++++++++++++++++--------------- lib/libtsan/sanitizer_common/sanitizer_procmaps.h | 2 +- lib/libtsan/sanitizer_common/sanitizer_procmaps_haiku.cpp | 94 +++++ lib/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp | 36 +- lib/libtsan/sanitizer_common/sanitizer_procmaps_solaris.cpp | 3 - lib/libtsan/sanitizer_common/sanitizer_redefine_builtins.h | 2 +- lib/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp | 47 ++- lib/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp | 2 + lib/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp | 86 ++--- lib/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp | 100 +++--- lib/libtsan/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp | 36 +- lib/libtsan/sanitizer_common/sanitizer_unwind_win.cpp | 5 + lib/libtsan/sanitizer_common/sanitizer_win.cpp | 3 + lib/libtsan/tsan_interceptors_posix.cpp | 87 ++++- lib/libtsan/tsan_interface_java.cpp | 1 - lib/libtsan/tsan_malloc_mac.cpp | 22 +- lib/libtsan/tsan_platform.h | 34 +- lib/libtsan/tsan_platform_linux.cpp | 29 +- lib/libtsan/tsan_rtl.cpp | 31 +- lib/libtsan/tsan_rtl.h | 5 +- lib/libtsan/tsan_rtl_access.cpp | 30 +- lib/libtsan/tsan_rtl_report.cpp | 11 +- lib/libtsan/tsan_sync.cpp | 27 +- lib/libtsan/ubsan/ubsan_platform.h | 2 +- src/libs/libtsan.zig | 3 + 58 files changed, 1898 insertions(+), 842 deletions(-)