From 9a4fd55f56dcaae283348a5d534df000ce1d9bff Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Tue, 12 Oct 2021 14:59:35 +0200 Subject: Add Windows linkopts for sanitizer builds --- driver/BUILD.bazel | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'driver') diff --git a/driver/BUILD.bazel b/driver/BUILD.bazel index 2385868c..60e8eb06 100644 --- a/driver/BUILD.bazel +++ b/driver/BUILD.bazel @@ -143,11 +143,16 @@ cc_binary( "//agent:jazzer_agent_deploy.jar", ], linkopts = [ - "-fsanitize=address", - "-static-libsan", ] + select({ - "@platforms//os:windows": [], + "@platforms//os:windows": [ + # Sanitizer runtimes have to be linked manually on Windows: + # https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/ + "/wholearchive:clang_rt.asan-x86_64.lib", + "/wholearchive:clang_rt.asan_cxx-x86_64.lib", + ], "//conditions:default": [ + "-fsanitize=address", + "-static-libsan", "-rdynamic", ], }) + select({ @@ -170,13 +175,18 @@ cc_binary( "//agent:jazzer_agent_deploy.jar", ], linkopts = [ - "-fsanitize=undefined", - # Link UBSan statically, even on macOS. - "-static-libsan", - "-fsanitize-link-c++-runtime", ] + select({ - "@platforms//os:windows": [], + "@platforms//os:windows": [ + # Sanitizer runtimes have to be linked manually on Windows: + # https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/ + "/wholearchive:clang_rt.ubsan_standalone-x86_64.lib", + "/wholearchive:clang_rt.ubsan_standalone_cxx-x86_64.lib", + ], "//conditions:default": [ + "-fsanitize=undefined", + # Link UBSan statically, even on macOS. + "-static-libsan", + "-fsanitize-link-c++-runtime", "-rdynamic", ], }) + select({ -- cgit v1.2.3