@@ -458,6 +458,7 @@ if(APPLE)
458458 set (SANITIZER_COMMON_SUPPORTED_OS osx)
459459 set (PROFILE_SUPPORTED_OS osx)
460460 set (TSAN_SUPPORTED_OS osx)
461+ set (TYSAN_SUPPORTED_OS osx)
461462 set (XRAY_SUPPORTED_OS osx)
462463 set (FUZZER_SUPPORTED_OS osx)
463464 set (ORC_SUPPORTED_OS)
@@ -593,6 +594,7 @@ if(APPLE)
593594 list (APPEND FUZZER_SUPPORTED_OS ${platform} )
594595 list (APPEND ORC_SUPPORTED_OS ${platform} )
595596 list (APPEND UBSAN_SUPPORTED_OS ${platform} )
597+ list (APPEND TYSAN_SUPPORTED_OS ${platform} )
596598 list (APPEND LSAN_SUPPORTED_OS ${platform} )
597599 list (APPEND STATS_SUPPORTED_OS ${platform} )
598600 endif ()
@@ -651,6 +653,9 @@ if(APPLE)
651653 list_intersect(CTX_PROFILE_SUPPORTED_ARCH
652654 ALL_CTX_PROFILE_SUPPORTED_ARCH
653655 SANITIZER_COMMON_SUPPORTED_ARCH)
656+ list_intersect(TYSAN_SUPPORTED_ARCH
657+ ALL_TYSAN_SUPPORTED_ARCH
658+ SANITIZER_COMMON_SUPPORTED_ARCH)
654659 list_intersect(TSAN_SUPPORTED_ARCH
655660 ALL_TSAN_SUPPORTED_ARCH
656661 SANITIZER_COMMON_SUPPORTED_ARCH)
@@ -703,6 +708,7 @@ else()
703708 filter_available_targets(PROFILE_SUPPORTED_ARCH ${ALL_PROFILE_SUPPORTED_ARCH} )
704709 filter_available_targets(CTX_PROFILE_SUPPORTED_ARCH ${ALL_CTX_PROFILE_SUPPORTED_ARCH} )
705710 filter_available_targets(TSAN_SUPPORTED_ARCH ${ALL_TSAN_SUPPORTED_ARCH} )
711+ filter_available_targets(TYSAN_SUPPORTED_ARCH ${ALL_TYSAN_SUPPORTED_ARCH} )
706712 filter_available_targets(UBSAN_SUPPORTED_ARCH ${ALL_UBSAN_SUPPORTED_ARCH} )
707713 filter_available_targets(SAFESTACK_SUPPORTED_ARCH
708714 ${ALL_SAFESTACK_SUPPORTED_ARCH} )
@@ -748,7 +754,7 @@ if(COMPILER_RT_SUPPORTED_ARCH)
748754endif ()
749755message (STATUS "Compiler-RT supported architectures: ${COMPILER_RT_SUPPORTED_ARCH} " )
750756
751- set (ALL_SANITIZERS asan;rtsan;dfsan;msan;hwasan;tsan;safestack;cfi;scudo_standalone;ubsan_minimal;gwp_asan;nsan;asan_abi)
757+ set (ALL_SANITIZERS asan;rtsan;dfsan;msan;hwasan;tsan;tysan; safestack;cfi;scudo_standalone;ubsan_minimal;gwp_asan;nsan;asan_abi)
752758set (COMPILER_RT_SANITIZERS_TO_BUILD all CACHE STRING
753759 "sanitizers to build if supported on the target (all;${ALL_SANITIZERS} )" )
754760list_replace(COMPILER_RT_SANITIZERS_TO_BUILD all "${ALL_SANITIZERS} " )
@@ -843,6 +849,13 @@ else()
843849 set (COMPILER_RT_HAS_CTX_PROFILE FALSE )
844850endif ()
845851
852+ if (COMPILER_RT_HAS_SANITIZER_COMMON AND TYSAN_SUPPORTED_ARCH AND
853+ OS_NAME MATCHES "Linux|Darwin" )
854+ set (COMPILER_RT_HAS_TYSAN TRUE )
855+ else ()
856+ set (COMPILER_RT_HAS_TYSAN FALSE )
857+ endif ()
858+
846859if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH)
847860 if (OS_NAME MATCHES "Linux|Darwin|FreeBSD|NetBSD" )
848861 set (COMPILER_RT_HAS_TSAN TRUE )
0 commit comments