earthdok@google.com 2013-06-13 15:49:55 +00:00
Родитель b8b0ae431d
Коммит d8f244567a
1 изменённых файлов: 28 добавлений и 4 удалений

Просмотреть файл

@ -279,6 +279,11 @@
# See https://sites.google.com/a/chromium.org/dev/developers/testing/addresssanitizer # See https://sites.google.com/a/chromium.org/dev/developers/testing/addresssanitizer
'asan%': 0, 'asan%': 0,
# Enable building with LSan (Clang's -fsanitize=leak option).
# -fsanitize=leak only works with clang, but lsan=1 implies clang=1
# See https://sites.google.com/a/chromium.org/dev/developers/testing/leaksanitizer
'lsan%': 0,
# Enable building with TSAN (Clang's -fsanitize=thread option). # Enable building with TSAN (Clang's -fsanitize=thread option).
# -fsanitize=thread only works with clang, but tsan=1 implies clang=1 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1
# See http://clang.llvm.org/docs/ThreadSanitizer.html # See http://clang.llvm.org/docs/ThreadSanitizer.html
@ -777,6 +782,7 @@
'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
'mac_want_real_dsym%': '<(mac_want_real_dsym)', 'mac_want_real_dsym%': '<(mac_want_real_dsym)',
'asan%': '<(asan)', 'asan%': '<(asan)',
'lsan%': '<(lsan)',
'msan%': '<(msan)', 'msan%': '<(msan)',
'tsan%': '<(tsan)', 'tsan%': '<(tsan)',
'tsan_blacklist%': '<(tsan_blacklist)', 'tsan_blacklist%': '<(tsan_blacklist)',
@ -1090,7 +1096,7 @@
# platforms except Windows, Mac and iOS. # platforms except Windows, Mac and iOS.
# TODO(glider): set clang to 1 earlier for ASan and TSan builds so that # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that
# it takes effect here. # it takes effect here.
['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and tsan==0 and msan==0', { ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0', {
'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)',
}, { }, {
'gcc_version%': 0, 'gcc_version%': 0,
@ -1578,6 +1584,9 @@
# runtime is fully adopted. See http://crbug.com/242503. # runtime is fully adopted. See http://crbug.com/242503.
'mac_strip_release': 0, 'mac_strip_release': 0,
}], }],
['lsan==1', {
'clang%': 1,
}],
['tsan==1', { ['tsan==1', {
'clang%': 1, 'clang%': 1,
}], }],
@ -3136,9 +3145,9 @@
'-fcolor-diagnostics', '-fcolor-diagnostics',
], ],
}], }],
# Common options for AddressSanitizer, ThreadSanitizer and # Common options for AddressSanitizer, LeakSanitizer,
# MemorySanitizer. # ThreadSanitizer and MemorySanitizer.
['asan==1 or tsan==1 or msan==1', { ['asan==1 or lsan==1 or tsan==1 or msan==1', {
'target_conditions': [ 'target_conditions': [
['_toolset=="target"', { ['_toolset=="target"', {
'cflags': [ 'cflags': [
@ -3183,6 +3192,21 @@
}], }],
], ],
}], }],
['lsan==1', {
'target_conditions': [
['_toolset=="target"', {
'cflags': [
'-fsanitize=leak',
],
'ldflags': [
'-fsanitize=leak',
],
'defines': [
'LEAK_SANITIZER',
],
}],
],
}],
['tsan==1', { ['tsan==1', {
'target_conditions': [ 'target_conditions': [
['_toolset=="target"', { ['_toolset=="target"', {