aboutsummaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorFabian Meumertzheim <fabian@meumertzhe.im>2021-10-12 14:59:35 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-10-18 22:31:42 +0200
commit9a4fd55f56dcaae283348a5d534df000ce1d9bff (patch)
tree87069ad46ef6e022957ac0776deb0f48718f588b /driver
parenta0b181bfa5aa7f313afdaf9d0b96ab2584b54c62 (diff)
downloadjazzer-api-9a4fd55f56dcaae283348a5d534df000ce1d9bff.tar.gz
Add Windows linkopts for sanitizer builds
Diffstat (limited to 'driver')
-rw-r--r--driver/BUILD.bazel26
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({