Index: build/config/sanitizers/BUILD.gn |
diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn |
index 0da971cc59443fc84d3191d445f90baff208f67c..ec55c97b7fa33ab8dd2cd86ef131b6af2fb11b4b 100644 |
--- a/build/config/sanitizers/BUILD.gn |
+++ b/build/config/sanitizers/BUILD.gn |
@@ -28,12 +28,17 @@ group("deps") { |
} |
if (use_custom_libcxx) { |
deps += [ "//buildtools/third_party/libc++:libcxx_proxy" ] |
+ if (is_mac) { |
+ deps += [ ":copy_libclang_rt_dyn" ] |
+ } |
} |
} |
} |
config("sanitizer_options_link_helper") { |
- ldflags = [ "-Wl,-u_sanitizer_options_link_helper" ] |
+ if (!is_mac) { |
+ ldflags = [ "-Wl,-u_sanitizer_options_link_helper" ] |
+ } |
} |
source_set("options_sources") { |
@@ -284,6 +289,10 @@ config("default_sanitizer_flags") { |
] |
} |
} |
+ |
+ if (is_mac && is_asan) { |
Alexander Potapenko
2016/03/24 21:58:43
Does is_mac mean only OSX, or both OSX and iOS/ios
aizatsky
2016/03/24 22:31:33
Ios is is_ios. No I don't want to support any of t
|
+ libs = [ "clang_rt.asan_osx_dynamic" ] |
+ } |
} |
config("default_sanitizer_coverage_flags") { |
@@ -294,3 +303,16 @@ config("default_sanitizer_coverage_flags") { |
cflags += [ "-fsanitize-coverage=edge,indirect-calls,8bit-counters" ] |
} |
} |
+ |
+# Copy dynamic clang_rt sanitizer libraries to output directory. |
+# Needed on mac. |
+copy("copy_libclang_rt_dyn") { |
+ sources = [ |
+ "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_rt.asan_osx_dynamic.dylib", |
+ "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib", |
Alexander Potapenko
2016/03/24 21:58:43
You don't seem to need TSan/UBSan runtimes for ASa
aizatsky
2016/03/24 22:31:33
I do not at this time. But other sanitizers might.
|
+ "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib", |
+ ] |
+ outputs = [ |
+ "$root_build_dir/{{source_file_part}}", |
+ ] |
+} |