Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1802)

Unified Diff: build/standalone.gypi

Issue 802583003: [test] Make msan work for v8 stand-alone. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/standalone.gypi
diff --git a/build/standalone.gypi b/build/standalone.gypi
index ee91e78899f0b9d726e10c978d89be49fdb98c88..98fe7c7fa94e7917935a3b61ca67c35bfbf07819 100644
--- a/build/standalone.gypi
+++ b/build/standalone.gypi
@@ -36,6 +36,11 @@
'make_clang_dir%': '../third_party/llvm-build/Release+Asserts',
'clang_xcode%': 0,
'asan%': 0,
+ 'msan%': 0,
+ # 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,
'tsan%': 0,
'visibility%': 'hidden',
'v8_enable_backtrace%': 0,
@@ -201,34 +206,60 @@
],
},
'conditions': [
- ['asan==1', {
+ ['asan==1 or msan==1 or tsan==1', {
'target_defaults': {
'cflags_cc+': [
'-fno-omit-frame-pointer',
'-gline-tables-only',
- '-fsanitize=address',
- '-w', # http://crbug.com/162783
],
'cflags_cc!': [
'-fomit-frame-pointer',
],
'ldflags': [
+ # Functions interposed by the sanitizers can make ld think
+ # that some libraries aren't needed when they actually are,
+ # http://crbug.com/234010. As workaround, disable --as-needed.
+ '-Wl,--as-needed',
earthdok 2014/12/19 15:54:02 this should be in "ldflags!", not "ldflags"
+ ],
+ 'dependencies': [
+ # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of
+ # stdlibc++ as standard library. This is intended to use for instrumented
+ # builds.
+ '<(DEPTH)/third_party/libc++/libc++.gyp:libcxx_proxy',
+ ],
+ },
+ }],
+ ['asan==1', {
+ 'target_defaults': {
+ 'cflags_cc+': [
+ '-fsanitize=address',
+ ],
+ 'ldflags': [
'-fsanitize=address',
],
},
}],
+ ['msan==1', {
+ 'target_defaults': {
+ 'cflags_cc+': [
+ '-fsanitize=memory',
+ '-fsanitize-memory-track-origins=<(msan_track_origins)',
+ ],
+ 'ldflags': [
+ '-fsanitize=memory',
+ ],
+ 'defines': [
+ 'MEMORY_SANITIZER',
+ ],
+ },
+ }],
['tsan==1', {
'target_defaults': {
'cflags+': [
- '-fno-omit-frame-pointer',
- '-gline-tables-only',
'-fsanitize=thread',
'-fPIC',
'-Wno-c++11-extensions',
],
- 'cflags!': [
- '-fomit-frame-pointer',
- ],
'ldflags': [
'-fsanitize=thread',
'-pie',
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698