Changeset View
Changeset View
Standalone View
Standalone View
cmake/config-ix.cmake
Show First 20 Lines • Show All 155 Lines • ▼ Show 20 Lines | set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC64} | ||||
${MIPS32} ${MIPS64}) | ${MIPS32} ${MIPS64}) | ||||
set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64}) | set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64}) | ||||
set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} | set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} | ||||
${MIPS32} ${MIPS64} ${PPC64} ${S390X}) | ${MIPS32} ${MIPS64} ${PPC64} ${S390X}) | ||||
set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64}) | set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64}) | ||||
set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64}) | set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64}) | ||||
set(ALL_ESAN_SUPPORTED_ARCH ${X86_64}) | set(ALL_ESAN_SUPPORTED_ARCH ${X86_64}) | ||||
set(ALL_SCUDO_SUPPORTED_ARCH ${X86_64}) | set(ALL_SCUDO_SUPPORTED_ARCH ${X86_64}) | ||||
set(ALL_XRAY_SUPPORTED_ARCH ${X86_64}) | |||||
if(APPLE) | if(APPLE) | ||||
include(CompilerRTDarwinUtils) | include(CompilerRTDarwinUtils) | ||||
find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx) | find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx) | ||||
find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator) | find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator) | ||||
find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos) | find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos) | ||||
find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator) | find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator) | ||||
▲ Show 20 Lines • Show All 173 Lines • ▼ Show 20 Lines | list_intersect(CFI_SUPPORTED_ARCH | ||||
ALL_CFI_SUPPORTED_ARCH | ALL_CFI_SUPPORTED_ARCH | ||||
SANITIZER_COMMON_SUPPORTED_ARCH) | SANITIZER_COMMON_SUPPORTED_ARCH) | ||||
list_intersect(ESAN_SUPPORTED_ARCH | list_intersect(ESAN_SUPPORTED_ARCH | ||||
ALL_ESAN_SUPPORTED_ARCH | ALL_ESAN_SUPPORTED_ARCH | ||||
SANITIZER_COMMON_SUPPORTED_ARCH) | SANITIZER_COMMON_SUPPORTED_ARCH) | ||||
list_intersect(SCUDO_SUPPORTED_ARCH | list_intersect(SCUDO_SUPPORTED_ARCH | ||||
ALL_SCUDO_SUPPORTED_ARCH | ALL_SCUDO_SUPPORTED_ARCH | ||||
SANITIZER_COMMON_SUPPORTED_ARCH) | SANITIZER_COMMON_SUPPORTED_ARCH) | ||||
list_intersect(XRAY_SUPPORTED_ARCH | |||||
ALL_XRAY_SUPPORTED_ARCH | |||||
SANITIZER_COMMON_SUPPORTED_ARCH) | |||||
else() | else() | ||||
# Architectures supported by compiler-rt libraries. | # Architectures supported by compiler-rt libraries. | ||||
filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH | filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH | ||||
${ALL_SANITIZER_COMMON_SUPPORTED_ARCH}) | ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH}) | ||||
# LSan and UBSan common files should be available on all architectures | # LSan and UBSan common files should be available on all architectures | ||||
# supported by other sanitizers (even if they build into dummy object files). | # supported by other sanitizers (even if they build into dummy object files). | ||||
filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH | filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH | ||||
${SANITIZER_COMMON_SUPPORTED_ARCH}) | ${SANITIZER_COMMON_SUPPORTED_ARCH}) | ||||
filter_available_targets(UBSAN_COMMON_SUPPORTED_ARCH | filter_available_targets(UBSAN_COMMON_SUPPORTED_ARCH | ||||
${SANITIZER_COMMON_SUPPORTED_ARCH}) | ${SANITIZER_COMMON_SUPPORTED_ARCH}) | ||||
filter_available_targets(ASAN_SUPPORTED_ARCH ${ALL_ASAN_SUPPORTED_ARCH}) | filter_available_targets(ASAN_SUPPORTED_ARCH ${ALL_ASAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(DFSAN_SUPPORTED_ARCH ${ALL_DFSAN_SUPPORTED_ARCH}) | filter_available_targets(DFSAN_SUPPORTED_ARCH ${ALL_DFSAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(LSAN_SUPPORTED_ARCH ${ALL_LSAN_SUPPORTED_ARCH}) | filter_available_targets(LSAN_SUPPORTED_ARCH ${ALL_LSAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(MSAN_SUPPORTED_ARCH ${ALL_MSAN_SUPPORTED_ARCH}) | filter_available_targets(MSAN_SUPPORTED_ARCH ${ALL_MSAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(PROFILE_SUPPORTED_ARCH ${ALL_PROFILE_SUPPORTED_ARCH}) | filter_available_targets(PROFILE_SUPPORTED_ARCH ${ALL_PROFILE_SUPPORTED_ARCH}) | ||||
filter_available_targets(TSAN_SUPPORTED_ARCH ${ALL_TSAN_SUPPORTED_ARCH}) | filter_available_targets(TSAN_SUPPORTED_ARCH ${ALL_TSAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(UBSAN_SUPPORTED_ARCH ${ALL_UBSAN_SUPPORTED_ARCH}) | filter_available_targets(UBSAN_SUPPORTED_ARCH ${ALL_UBSAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(SAFESTACK_SUPPORTED_ARCH | filter_available_targets(SAFESTACK_SUPPORTED_ARCH | ||||
${ALL_SAFESTACK_SUPPORTED_ARCH}) | ${ALL_SAFESTACK_SUPPORTED_ARCH}) | ||||
filter_available_targets(CFI_SUPPORTED_ARCH ${ALL_CFI_SUPPORTED_ARCH}) | filter_available_targets(CFI_SUPPORTED_ARCH ${ALL_CFI_SUPPORTED_ARCH}) | ||||
filter_available_targets(ESAN_SUPPORTED_ARCH ${ALL_ESAN_SUPPORTED_ARCH}) | filter_available_targets(ESAN_SUPPORTED_ARCH ${ALL_ESAN_SUPPORTED_ARCH}) | ||||
filter_available_targets(SCUDO_SUPPORTED_ARCH | filter_available_targets(SCUDO_SUPPORTED_ARCH | ||||
${ALL_SCUDO_SUPPORTED_ARCH}) | ${ALL_SCUDO_SUPPORTED_ARCH}) | ||||
filter_available_targets(XRAY_SUPPORTED_ARCH ${ALL_XRAY_SUPPORTED_ARCH}) | |||||
endif() | endif() | ||||
if (MSVC) | if (MSVC) | ||||
# See if the DIA SDK is available and usable. | # See if the DIA SDK is available and usable. | ||||
set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK") | set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK") | ||||
if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR}) | if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR}) | ||||
set(CAN_SYMBOLIZE 1) | set(CAN_SYMBOLIZE 1) | ||||
else() | else() | ||||
▲ Show 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | |||||
if (COMPILER_RT_HAS_SANITIZER_COMMON AND SCUDO_SUPPORTED_ARCH AND | if (COMPILER_RT_HAS_SANITIZER_COMMON AND SCUDO_SUPPORTED_ARCH AND | ||||
OS_NAME MATCHES "Linux") | OS_NAME MATCHES "Linux") | ||||
set(COMPILER_RT_HAS_SCUDO TRUE) | set(COMPILER_RT_HAS_SCUDO TRUE) | ||||
else() | else() | ||||
set(COMPILER_RT_HAS_SCUDO FALSE) | set(COMPILER_RT_HAS_SCUDO FALSE) | ||||
endif() | endif() | ||||
if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND | |||||
OS_NAME MATCHES "Linux") | |||||
set(COMPILER_RT_HAS_XRAY TRUE) | |||||
else() | |||||
set(COMPILER_RT_HAS_XRAY FALSE) | |||||
endif() |