diff options
author | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-10-12 14:59:35 +0200 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-10-18 22:31:42 +0200 |
commit | 9a4fd55f56dcaae283348a5d534df000ce1d9bff (patch) | |
tree | 87069ad46ef6e022957ac0776deb0f48718f588b /driver | |
parent | a0b181bfa5aa7f313afdaf9d0b96ab2584b54c62 (diff) | |
download | jazzer-api-9a4fd55f56dcaae283348a5d534df000ce1d9bff.tar.gz |
Add Windows linkopts for sanitizer builds
Diffstat (limited to 'driver')
-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({ |