diff options
Diffstat (limited to 'compiler-rt/cmake/config-ix.cmake')
-rw-r--r-- | compiler-rt/cmake/config-ix.cmake | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake index cdeae90d0d9..8d325799268 100644 --- a/compiler-rt/cmake/config-ix.cmake +++ b/compiler-rt/cmake/config-ix.cmake @@ -219,6 +219,7 @@ set(ALL_XRAY_SUPPORTED_ARCH ${X86_64}) else() set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} powerpc64le) endif() +set(ALL_SHADOWCALLSTACK_SUPPORTED_ARCH ${X86_64} ${ARM64}) if(APPLE) include(CompilerRTDarwinUtils) @@ -429,6 +430,9 @@ if(APPLE) list_intersect(XRAY_SUPPORTED_ARCH ALL_XRAY_SUPPORTED_ARCH SANITIZER_COMMON_SUPPORTED_ARCH) + list_intersect(SHADOWCALLSTACK_SUPPORTED_ARCH + ALL_SHADOWCALLSTACK_SUPPORTED_ARCH + SANITIZER_COMMON_SUPPORTED_ARCH) else() # Architectures supported by compiler-rt libraries. @@ -455,6 +459,8 @@ else() filter_available_targets(ESAN_SUPPORTED_ARCH ${ALL_ESAN_SUPPORTED_ARCH}) filter_available_targets(SCUDO_SUPPORTED_ARCH ${ALL_SCUDO_SUPPORTED_ARCH}) filter_available_targets(XRAY_SUPPORTED_ARCH ${ALL_XRAY_SUPPORTED_ARCH}) + filter_available_targets(SHADOWCALLSTACK_SUPPORTED_ARCH + ${ALL_SHADOWCALLSTACK_SUPPORTED_ARCH}) endif() if (MSVC) @@ -612,3 +618,10 @@ if (COMPILER_RT_HAS_SANITIZER_COMMON AND FUZZER_SUPPORTED_ARCH AND else() set(COMPILER_RT_HAS_FUZZER FALSE) endif() + +if (COMPILER_RT_HAS_SANITIZER_COMMON AND SHADOWCALLSTACK_SUPPORTED_ARCH AND + OS_NAME MATCHES "Linux|Android") + set(COMPILER_RT_HAS_SHADOWCALLSTACK TRUE) +else() + set(COMPILER_RT_HAS_SHADOWCALLSTACK FALSE) +endif() |