diff options
Diffstat (limited to 'driver/BUILD.bazel')
-rw-r--r-- | driver/BUILD.bazel | 26 |
1 files changed, 18 insertions, 8 deletions
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({ |