Index: build/common.gypi |
diff --git a/build/common.gypi b/build/common.gypi |
index 166130c6e231d0f813b5d306ed1db1ff91661451..d94cb484d8a6f715332432182a49e929f4078a35 100644 |
--- a/build/common.gypi |
+++ b/build/common.gypi |
@@ -353,7 +353,8 @@ |
# See https://sites.google.com/a/chromium.org/dev/developers/testing/addresssanitizer |
'asan%': 0, |
# Enable coverage gathering instrumentation in ASan. This flag also |
- # controls coverage granularity (experimental). |
+ # controls coverage granularity (1 for function-level coverage, 2 for |
+ # block-level coverage). |
'asan_coverage%': 0, |
# Enable Chromium overrides of the default configurations for various |
@@ -380,6 +381,10 @@ |
# See http://clang.llvm.org/docs/MemorySanitizer.html |
'msan%': 0, |
'msan_blacklist%': '<(PRODUCT_DIR)/../../tools/msan/blacklist.txt', |
+ # Track where uninitialized memory originates from. From fastest to |
+ # slowest: 0 - no tracking, 1 - track only the initial allocation site, 2 |
+ # - track the chain of stores leading from allocation site to use site. |
+ 'msan_track_origins%': 1, |
# Enable building with UBSan (Clang's -fsanitize=undefined option). |
# -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 |
@@ -1066,6 +1071,7 @@ |
'lsan%': '<(lsan)', |
'msan%': '<(msan)', |
'msan_blacklist%': '<(msan_blacklist)', |
+ 'msan_track_origins%': '<(msan_track_origins)', |
'tsan%': '<(tsan)', |
'tsan_blacklist%': '<(tsan_blacklist)', |
'ubsan%': '<(ubsan)', |
@@ -3977,7 +3983,7 @@ |
['_toolset=="target"', { |
'cflags': [ |
'-fsanitize=memory', |
- '-fsanitize-memory-track-origins', |
+ '-fsanitize-memory-track-origins=<(msan_track_origins)', |
'-fPIC', |
'-fsanitize-blacklist=<(msan_blacklist)', |
], |