File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -1038,13 +1038,14 @@ if(LLVM_USE_SANITIZER)
1038
1038
# lld string tail merging interacts badly with ASAN on Windows, turn it off here
1039
1039
# See https://github.com/llvm/llvm-project/issues/62078
1040
1040
append ("/opt:nolldtailmerge" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS )
1041
+ # Static and dynamic C runtimes all load ASAN as a DLL
1042
+ # See https://devblogs.microsoft.com/cppblog/msvc-address-sanitizer-one-dll-for-all-runtime-configurations/
1043
+ append ("clang_rt.asan_dynamic-${arch} .lib" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS )
1041
1044
if (${CMAKE_MSVC_RUNTIME_LIBRARY} MATCHES "^(MultiThreaded|MultiThreadedDebug)$" )
1042
- append ("/wholearchive:clang_rt.asan-${arch} .lib /wholearchive:clang_rt.asan_cxx-${arch} .lib"
1043
- CMAKE_EXE_LINKER_FLAGS )
1044
- append ("/wholearchive:clang_rt.asan_dll_thunk-${arch} .lib"
1045
- CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS )
1045
+ append ("/wholearchive:clang_rt.asan_static_runtime_thunk-${arch} .lib"
1046
+ CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS )
1046
1047
else ()
1047
- append ("clang_rt.asan_dynamic- ${arch} .lib /wholearchive:clang_rt.asan_dynamic_runtime_thunk-${arch} .lib"
1048
+ append ("/wholearchive:clang_rt.asan_dynamic_runtime_thunk-${arch} .lib"
1048
1049
CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS )
1049
1050
endif ()
1050
1051
endif ()
You can’t perform that action at this time.
0 commit comments