From: Blue Gaston Date: Wed, 31 May 2023 22:23:06 +0000 (-0700) Subject: [Sanitizers][Darwin][ASanABI] Fix architecture config for ASan Abi X-Git-Tag: upstream/17.0.6~6431 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6df9b06aa81f7b6eea34652ddff819afc07a874f;p=platform%2Fupstream%2Fllvm.git [Sanitizers][Darwin][ASanABI] Fix architecture config for ASan Abi Moved setting supported architecture to parent cmake configuration files so they can be read by both lib and test CMakeList.txt. Fixed issue with check-asan-abi that did not filter for current host architecture which caused x86_64 bots to run Arm64 tests. Added x86_64 as a supported arch to the test cmake file. rdar://110017569 Differential Revision: https://reviews.llvm.org/D151846 --- diff --git a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake index 3892dd7..15c3923 100644 --- a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake +++ b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake @@ -29,6 +29,7 @@ set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64} set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64} ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON} ${LOONGARCH64}) +set(ALL_ASAN_ABI_SUPPORTED_ARCH ${X86_64} ${ARM64}) set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64}) if(ANDROID) diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake index df1598d..1b8d664 100644 --- a/compiler-rt/cmake/config-ix.cmake +++ b/compiler-rt/cmake/config-ix.cmake @@ -590,6 +590,7 @@ if(APPLE) ) set(LSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}) set(UBSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}) + set(ASAN_ABI_SUPPORTED_ARCH ${ALL_ASAN_ABI_SUPPORTED_ARCH}) list_intersect(ASAN_SUPPORTED_ARCH ALL_ASAN_SUPPORTED_ARCH SANITIZER_COMMON_SUPPORTED_ARCH) diff --git a/compiler-rt/lib/asan_abi/CMakeLists.txt b/compiler-rt/lib/asan_abi/CMakeLists.txt index 62d5537..b2f5ddb 100644 --- a/compiler-rt/lib/asan_abi/CMakeLists.txt +++ b/compiler-rt/lib/asan_abi/CMakeLists.txt @@ -15,11 +15,10 @@ add_compiler_rt_component(asan_abi) if (APPLE) # TODO: set in config-ix.cmake set(ASAN_ABI_SUPPORTED_OS osx) - set(ASAN_ABI_SUPPORTED_ARCHS ${X86_64} ${ARM64}) # Compile Stable API sources into an object library. add_compiler_rt_object_libraries(RTASAN_ABI OS ${ASAN_ABI_SUPPORTED_OS} - ARCHS ${ASAN_ABI_SUPPORTED_ARCHS} + ARCHS ${ASAN_ABI_SUPPORTED_ARCH} SOURCES ${ASAN_ABI_SOURCES} ADDITIONAL_HEADERS ${ASAN_ABI_HEADERS} CFLAGS ${SANITIZER_COMMON_CFLAGS}) @@ -27,7 +26,7 @@ if (APPLE) add_compiler_rt_runtime(clang_rt.asan_abi STATIC OS ${ASAN_ABI_SUPPORTED_OS} - ARCHS ${ASAN_ABI_SUPPORTED_ARCHS} + ARCHS ${ASAN_ABI_SUPPORTED_ARCH} OBJECT_LIBS RTASAN_ABI CFLAGS ${SANITIZER_COMMON_CFLAGS} LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS} diff --git a/compiler-rt/test/asan_abi/CMakeLists.txt b/compiler-rt/test/asan_abi/CMakeLists.txt index 5d03716..e3e41c0 100644 --- a/compiler-rt/test/asan_abi/CMakeLists.txt +++ b/compiler-rt/test/asan_abi/CMakeLists.txt @@ -3,7 +3,7 @@ set(ASAN_ABI_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(ASAN_ABI_TESTSUITES) macro(get_bits_for_arch arch bits) - if (${arch} MATCHES "arm64") + if (${arch} MATCHES "arm64|x86_64") set(${bits} 64) else() message(FATAL_ERROR "Unknown target architecture: ${arch}") @@ -16,7 +16,10 @@ if(NOT COMPILER_RT_STANDALONE_BUILD) endif() set(ASAN_ABI_DYNAMIC_TEST_DEPS ${ASAN_ABI_TEST_DEPS}) -set(ASAN_ABI_TEST_ARCH arm64) +set(ASAN_ABI_TEST_ARCH ${ASAN_ABI_SUPPORTED_ARCH}) +if(APPLE) + darwin_filter_host_archs(ASAN_ABI_SUPPORTED_ARCH ASAN_ABI_TEST_ARCH) +endif() foreach(arch ${ASAN_ABI_TEST_ARCH}) set(ASAN_ABI_TEST_TARGET_ARCH ${arch})