1
1
set (ASAN_ABI_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
2
-
3
2
set (ASAN_ABI_TESTSUITES )
4
3
5
4
macro (get_bits_for_arch arch bits )
@@ -28,11 +27,8 @@ foreach(arch ${ASAN_ABI_TEST_ARCH})
28
27
string (TOLOWER "-${arch} -${OS_NAME} " ASAN_ABI_TEST_CONFIG_SUFFIX )
29
28
get_bits_for_arch (${arch} ASAN_ABI_TEST_BITS )
30
29
get_test_cc_for_arch (${arch} ASAN_ABI_TEST_TARGET_CC ASAN_ABI_TEST_TARGET_CFLAGS )
31
- if (ANDROID OR APPLE )
32
- set (ASAN_ABI_TEST_DYNAMIC True )
33
- else ()
34
- set (ASAN_ABI_TEST_DYNAMIC False )
35
- endif ()
30
+ set (ASAN_ABI_TEST_DYNAMIC True )
31
+
36
32
string (TOUPPER ${arch} ARCH_UPPER_CASE )
37
33
set (CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME} Config )
38
34
@@ -43,6 +39,46 @@ foreach(arch ${ASAN_ABI_TEST_ARCH})
43
39
)
44
40
endforeach ()
45
41
42
+ if (APPLE )
43
+ set (ASAN_ABI_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER} )
44
+ set (ASAN_ABI_TEST_APPLE_PLATFORMS ${SANITIZER_COMMON_SUPPORTED_OS} )
45
+
46
+ foreach (platform ${ASAN_ABI_TEST_APPLE_PLATFORMS} )
47
+ if ("${platform} " STREQUAL "osx" )
48
+ # Skip macOS because it's handled by the code above that builds tests for the host machine.
49
+ continue ()
50
+ endif ()
51
+ list_intersect (
52
+ ASAN_ABI_TEST_${platform}_ARCHS
53
+ ASAN_ABI_SUPPORTED_ARCH
54
+ DARWIN_${platform}_ARCHS
55
+ )
56
+ foreach (arch ${ASAN_ABI_TEST_${platform}_ARCHS} )
57
+ get_test_cflags_for_apple_platform (
58
+ "${platform} "
59
+ "${arch} "
60
+ ASAN_ABI_TEST_TARGET_CFLAGS
61
+ )
62
+ string (TOUPPER "${arch} " ARCH_UPPER_CASE )
63
+ get_capitalized_apple_platform ("${platform} " PLATFORM_CAPITALIZED )
64
+ set (CONFIG_NAME "${PLATFORM_CAPITALIZED}${ARCH_UPPER_CASE} Config" )
65
+ set (ASAN_ABI_TEST_CONFIG_SUFFIX "-${arch} -${platform} " )
66
+ set (ASAN_ABI_TEST_APPLE_PLATFORM "${platform} " )
67
+ set (ASAN_ABI_TEST_TARGET_ARCH "${arch} " )
68
+ set (ASAN_ABI_TEST_MIN_DEPLOYMENT_TARGET_FLAG "${DARWIN_${platform} _MIN_VER_FLAG}" )
69
+ get_bits_for_arch (${arch} ASAN_ABI_TEST_BITS )
70
+ configure_lit_site_cfg (
71
+ ${CMAKE_CURRENT_SOURCE_DIR} /lit.site.cfg.py.in
72
+ ${CMAKE_CURRENT_BINARY_DIR} /${CONFIG_NAME}/lit.site.cfg.py
73
+ )
74
+ add_lit_testsuite (check-asan-abi-${platform}-${arch} "AddressSanitizerABI ${platform} ${arch} tests"
75
+ ${ASAN_ABI_TESTSUITES}
76
+ EXCLUDE_FROM_CHECK_ALL
77
+ DEPENDS ${ASAN_ABI_TEST_DEPS} )
78
+ endforeach ()
79
+ endforeach ()
80
+ endif ()
81
+
46
82
add_lit_testsuite (check-asan-abi "Running the AddressSanitizerABI tests"
47
83
${ASAN_ABI_TESTSUITES}
48
84
${exclude_from_check_all}
0 commit comments