@@ -36,8 +36,8 @@ append_list_if(COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG -Wno-variadic-macros ASAN_U
36
36
37
37
# This will ensure the target linker is used
38
38
# during cross compilation
39
- set (ASAN_UNITTEST_COMMON_LINKFLAGS
40
- ${COMPILER_RT_UNITTEST_LINKFLAGS } )
39
+ set (ASAN_UNITTEST_COMMON_LINK_FLAGS
40
+ ${COMPILER_RT_UNITTEST_LINK_FLAGS } )
41
41
42
42
# -gline-tables-only must be enough for ASan, so use it if possible.
43
43
if (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang" )
@@ -48,7 +48,7 @@ endif()
48
48
if (MSVC )
49
49
list (APPEND ASAN_UNITTEST_COMMON_CFLAGS -gcodeview)
50
50
endif ()
51
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS -g)
51
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS -g)
52
52
53
53
# Use -D instead of definitions to please custom compile command.
54
54
list (APPEND ASAN_UNITTEST_COMMON_CFLAGS
@@ -58,12 +58,12 @@ list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
58
58
59
59
if (APPLE )
60
60
list (APPEND ASAN_UNITTEST_COMMON_CFLAGS ${DARWIN_osx_CFLAGS} )
61
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS ${DARWIN_osx_LINKFLAGS } )
61
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS ${DARWIN_osx_LINK_FLAGS } )
62
62
63
- add_weak_symbols("asan" WEAK_SYMBOL_LINKFLAGS )
64
- add_weak_symbols("ubsan" WEAK_SYMBOL_LINKFLAGS )
65
- add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINKFLAGS )
66
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS ${WEAK_SYMBOL_LINKFLAGS } )
63
+ add_weak_symbols("asan" WEAK_SYMBOL_LINK_FLAGS )
64
+ add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS )
65
+ add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS )
66
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS } )
67
67
endif ()
68
68
69
69
if (MSVC )
@@ -82,41 +82,41 @@ if(CAN_TARGET_x86_64 OR CAN_TARGET_i386)
82
82
endif ()
83
83
84
84
if (NOT MSVC )
85
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS --driver-mode=g++)
85
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS --driver-mode=g++)
86
86
endif ()
87
87
88
88
# x86_64 FreeBSD 9.2 additionally requires libc++ to build the tests.
89
89
if (CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" )
90
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS "-lc++" )
90
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS "-lc++" )
91
91
endif ()
92
92
93
93
# Unit tests on Mac depend on Foundation.
94
94
if (APPLE )
95
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS -framework Foundation)
95
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS -framework Foundation)
96
96
endif ()
97
97
if (ANDROID)
98
- list (APPEND ASAN_UNITTEST_COMMON_LINKFLAGS -pie)
98
+ list (APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS -pie)
99
99
endif ()
100
100
101
- set (ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS
102
- ${ASAN_UNITTEST_COMMON_LINKFLAGS } )
103
- list (APPEND ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS -fsanitize=address)
101
+ set (ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS
102
+ ${ASAN_UNITTEST_COMMON_LINK_FLAGS } )
103
+ list (APPEND ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS -fsanitize=address)
104
104
105
- set (ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINKFLAGS
106
- ${ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS }
105
+ set (ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINK_FLAGS
106
+ ${ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS }
107
107
-shared-libasan)
108
108
109
109
set (ASAN_UNITTEST_INSTRUMENTED_LIBS)
110
110
# NDK r10 requires -latomic almost always.
111
111
append_list_if(ANDROID atomic ASAN_UNITTEST_INSTRUMENTED_LIBS)
112
112
113
- set (ASAN_UNITTEST_NOINST_LINKFLAGS ${ASAN_UNITTEST_COMMON_LINKFLAGS } )
113
+ set (ASAN_UNITTEST_NOINST_LINK_FLAGS ${ASAN_UNITTEST_COMMON_LINK_FLAGS } )
114
114
if (NOT APPLE )
115
- append_list_if(COMPILER_RT_HAS_LIBM -lm ASAN_UNITTEST_NOINST_LINKFLAGS )
116
- append_list_if(COMPILER_RT_HAS_LIBDL -ldl ASAN_UNITTEST_NOINST_LINKFLAGS )
117
- append_list_if(COMPILER_RT_HAS_LIBRT -lrt ASAN_UNITTEST_NOINST_LINKFLAGS )
118
- append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread ASAN_UNITTEST_NOINST_LINKFLAGS )
119
- append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINKFLAGS )
115
+ append_list_if(COMPILER_RT_HAS_LIBM -lm ASAN_UNITTEST_NOINST_LINK_FLAGS )
116
+ append_list_if(COMPILER_RT_HAS_LIBDL -ldl ASAN_UNITTEST_NOINST_LINK_FLAGS )
117
+ append_list_if(COMPILER_RT_HAS_LIBRT -lrt ASAN_UNITTEST_NOINST_LINK_FLAGS )
118
+ append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread ASAN_UNITTEST_NOINST_LINK_FLAGS )
119
+ append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINK_FLAGS )
120
120
endif ()
121
121
122
122
# TODO(eugenis): move all -l flags above to _LIBS?
@@ -148,7 +148,7 @@ endmacro()
148
148
# Link ASan unit test for a given architecture from a set
149
149
# of objects in with given linker flags.
150
150
macro (add_asan_test test_suite test_name arch kind)
151
- cmake_parse_arguments (TEST "WITH_TEST_RUNTIME" "" "OBJECTS;LINKFLAGS ;SUBDIR" ${ARGN} )
151
+ cmake_parse_arguments (TEST "WITH_TEST_RUNTIME" "" "OBJECTS;LINK_FLAGS ;SUBDIR" ${ARGN} )
152
152
get_target_flags_for_arch(${arch} TARGET_LINK_FLAGS)
153
153
set (TEST_DEPS ${TEST_OBJECTS} )
154
154
if (NOT COMPILER_RT_STANDALONE_BUILD)
@@ -172,7 +172,7 @@ macro(add_asan_test test_suite test_name arch kind)
172
172
SUBDIR ${TEST_SUBDIR}
173
173
OBJECTS ${TEST_OBJECTS}
174
174
DEPS ${TEST_DEPS}
175
- LINK_FLAGS ${TEST_LINKFLAGS }
175
+ LINK_FLAGS ${TEST_LINK_FLAGS }
176
176
${TARGET_LINK_FLAGS} )
177
177
endmacro ()
178
178
@@ -237,8 +237,8 @@ macro(add_asan_tests_for_arch_and_kind arch kind)
237
237
endforeach ()
238
238
# Clang links the static CRT by default. Override that to use the dynamic
239
239
# CRT.
240
- set (ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINKFLAGS
241
- ${ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINKFLAGS }
240
+ set (ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINK_FLAGS
241
+ ${ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINK_FLAGS }
242
242
-Wl,-nodefaultlib:libcmt,-defaultlib:msvcrt,-defaultlib:oldnames)
243
243
else ()
244
244
set (ASAN_INST_DYNAMIC_TEST_OBJECTS ${ASAN_INST_TEST_OBJECTS} )
@@ -256,7 +256,7 @@ macro(add_asan_tests_for_arch_and_kind arch kind)
256
256
add_asan_test(AsanUnitTests "Asan-${arch}${kind} -Test"
257
257
${arch} ${kind} SUBDIR "default"
258
258
OBJECTS ${ASAN_INST_TEST_OBJECTS}
259
- LINKFLAGS ${ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS } )
259
+ LINK_FLAGS ${ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS } )
260
260
if (COMPILER_RT_ASAN_HAS_STATIC_RUNTIME)
261
261
# Create the 'dynamic' folder where ASAN tests are produced.
262
262
if (CMAKE_CONFIGURATION_TYPES )
@@ -270,7 +270,7 @@ macro(add_asan_tests_for_arch_and_kind arch kind)
270
270
add_asan_test(AsanDynamicUnitTests "Asan-${arch}${kind} -Dynamic-Test"
271
271
${arch} ${kind} SUBDIR "dynamic"
272
272
OBJECTS ${ASAN_INST_DYNAMIC_TEST_OBJECTS}
273
- LINKFLAGS ${ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINKFLAGS } )
273
+ LINK_FLAGS ${ASAN_DYNAMIC_UNITTEST_INSTRUMENTED_LINK_FLAGS } )
274
274
endif ()
275
275
276
276
# Add static ASan runtime that will be linked with uninstrumented tests.
@@ -307,7 +307,7 @@ macro(add_asan_tests_for_arch_and_kind arch kind)
307
307
add_asan_test(AsanUnitTests "Asan-${arch}${kind} -Noinst-Test"
308
308
${arch} ${kind} SUBDIR "default"
309
309
OBJECTS ${ASAN_NOINST_TEST_OBJECTS}
310
- LINKFLAGS ${ASAN_UNITTEST_NOINST_LINKFLAGS }
310
+ LINK_FLAGS ${ASAN_UNITTEST_NOINST_LINK_FLAGS }
311
311
WITH_TEST_RUNTIME)
312
312
313
313
# Benchmarks.
@@ -319,7 +319,7 @@ macro(add_asan_tests_for_arch_and_kind arch kind)
319
319
add_asan_test(AsanBenchmarks "Asan-${arch}${kind} -Benchmark"
320
320
${arch} ${kind} SUBDIR "default"
321
321
OBJECTS ${ASAN_BENCHMARKS_OBJECTS}
322
- LINKFLAGS ${ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS } )
322
+ LINK_FLAGS ${ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS } )
323
323
endmacro ()
324
324
325
325
if (COMPILER_RT_CAN_EXECUTE_TESTS AND NOT ANDROID)
@@ -347,15 +347,15 @@ if(ANDROID)
347
347
${COMPILER_RT_GTEST_SOURCE}
348
348
${ASAN_NOINST_TEST_SOURCES} )
349
349
set_target_compile_flags(AsanNoinstTest ${ASAN_UNITTEST_COMMON_CFLAGS} )
350
- set_target_link_flags(AsanNoinstTest ${ASAN_UNITTEST_NOINST_LINKFLAGS } )
350
+ set_target_link_flags(AsanNoinstTest ${ASAN_UNITTEST_NOINST_LINK_FLAGS } )
351
351
target_link_libraries (AsanNoinstTest ${ASAN_UNITTEST_NOINST_LIBS} )
352
352
353
353
# Test with ASan instrumentation. Link with ASan dynamic runtime.
354
354
add_executable (AsanTest
355
355
${COMPILER_RT_GTEST_SOURCE}
356
356
${ASAN_INST_TEST_SOURCES} )
357
357
set_target_compile_flags(AsanTest ${ASAN_UNITTEST_INSTRUMENTED_CFLAGS} )
358
- set_target_link_flags(AsanTest ${ASAN_UNITTEST_INSTRUMENTED_LINKFLAGS } )
358
+ set_target_link_flags(AsanTest ${ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS } )
359
359
target_link_libraries (AsanTest ${ASAN_UNITTEST_INSTRUMENTED_LIBS} )
360
360
361
361
# Setup correct output directory and link flags.
0 commit comments