Skip to content

Commit 061ab3e

Browse files
committed
[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
1 parent c8e4798 commit 061ab3e

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
2929
set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
3030
${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
3131
${LOONGARCH64})
32+
set(ALL_ASAN_ABI_SUPPORTED_ARCH ${X86_64} ${ARM64})
3233
set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
3334

3435
if(ANDROID)

compiler-rt/cmake/config-ix.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,7 @@ if(APPLE)
583583
)
584584
set(LSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH})
585585
set(UBSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH})
586+
set(ASAN_ABI_SUPPORTED_ARCH ${ALL_ASAN_ABI_SUPPORTED_ARCH})
586587
list_intersect(ASAN_SUPPORTED_ARCH
587588
ALL_ASAN_SUPPORTED_ARCH
588589
SANITIZER_COMMON_SUPPORTED_ARCH)

compiler-rt/lib/asan_abi/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,18 @@ add_compiler_rt_component(asan_abi)
1515
if (APPLE)
1616
# TODO: set in config-ix.cmake
1717
set(ASAN_ABI_SUPPORTED_OS osx)
18-
set(ASAN_ABI_SUPPORTED_ARCHS ${X86_64} ${ARM64})
1918
# Compile Stable API sources into an object library.
2019
add_compiler_rt_object_libraries(RTASAN_ABI
2120
OS ${ASAN_ABI_SUPPORTED_OS}
22-
ARCHS ${ASAN_ABI_SUPPORTED_ARCHS}
21+
ARCHS ${ASAN_ABI_SUPPORTED_ARCH}
2322
SOURCES ${ASAN_ABI_SOURCES}
2423
ADDITIONAL_HEADERS ${ASAN_ABI_HEADERS}
2524
CFLAGS ${SANITIZER_COMMON_CFLAGS})
2625

2726
add_compiler_rt_runtime(clang_rt.asan_abi
2827
STATIC
2928
OS ${ASAN_ABI_SUPPORTED_OS}
30-
ARCHS ${ASAN_ABI_SUPPORTED_ARCHS}
29+
ARCHS ${ASAN_ABI_SUPPORTED_ARCH}
3130
OBJECT_LIBS RTASAN_ABI
3231
CFLAGS ${SANITIZER_COMMON_CFLAGS}
3332
LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}

compiler-rt/test/asan_abi/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set(ASAN_ABI_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
33
set(ASAN_ABI_TESTSUITES)
44

55
macro(get_bits_for_arch arch bits)
6-
if (${arch} MATCHES "arm64")
6+
if (${arch} MATCHES "arm64|x86_64")
77
set(${bits} 64)
88
else()
99
message(FATAL_ERROR "Unknown target architecture: ${arch}")
@@ -16,7 +16,10 @@ if(NOT COMPILER_RT_STANDALONE_BUILD)
1616
endif()
1717
set(ASAN_ABI_DYNAMIC_TEST_DEPS ${ASAN_ABI_TEST_DEPS})
1818

19-
set(ASAN_ABI_TEST_ARCH arm64)
19+
set(ASAN_ABI_TEST_ARCH ${ASAN_ABI_SUPPORTED_ARCH})
20+
if(APPLE)
21+
darwin_filter_host_archs(ASAN_ABI_SUPPORTED_ARCH ASAN_ABI_TEST_ARCH)
22+
endif()
2023

2124
foreach(arch ${ASAN_ABI_TEST_ARCH})
2225
set(ASAN_ABI_TEST_TARGET_ARCH ${arch})

0 commit comments

Comments
 (0)