Commit 5ef69e93 authored by machenbach's avatar machenbach Committed by Commit bot

[build] Port using prebuilt instrumented libraries for msan

BUG=chromium:631979
NOTRY=true

Review-Url: https://codereview.chromium.org/2189343002
Cr-Commit-Position: refs/heads/master@{#38197}
parent e9887b6a
...@@ -215,6 +215,16 @@ hooks = [ ...@@ -215,6 +215,16 @@ hooks = [
'--running-as-hook', '--running-as-hook',
], ],
}, },
{
# Pull sanitizer-instrumented third-party libraries if requested via
# GYP_DEFINES.
'name': 'instrumented_libraries',
'pattern': '\\.sha1',
'action': [
'python',
'v8/third_party/instrumented_libraries/scripts/download_binaries.py',
],
},
{ {
# Update the Windows toolchain if necessary. # Update the Windows toolchain if necessary.
'name': 'win_toolchain', 'name': 'win_toolchain',
......
...@@ -121,12 +121,19 @@ ...@@ -121,12 +121,19 @@
# also controls coverage granularity (1 for function-level, 2 for # also controls coverage granularity (1 for function-level, 2 for
# block-level, 3 for edge-level). # block-level, 3 for edge-level).
'sanitizer_coverage%': 0, 'sanitizer_coverage%': 0,
# Use dynamic libraries instrumented by one of the sanitizers
# instead of the standard system libraries. Set this flag to download
# prebuilt binaries from GCS.
'use_prebuilt_instrumented_libraries%': 0,
# Use libc++ (buildtools/third_party/libc++ and # Use libc++ (buildtools/third_party/libc++ and
# buildtools/third_party/libc++abi) instead of stdlibc++ as standard # buildtools/third_party/libc++abi) instead of stdlibc++ as standard
# library. This is intended to be used for instrumented builds. # library. This is intended to be used for instrumented builds.
'use_custom_libcxx%': 0, 'use_custom_libcxx%': 0,
'clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts', 'clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts',
'make_clang_dir%': '<(base_dir)/third_party/llvm-build/Release+Asserts',
'use_lto%': 0, 'use_lto%': 0,
...@@ -178,6 +185,7 @@ ...@@ -178,6 +185,7 @@
}, },
'base_dir%': '<(base_dir)', 'base_dir%': '<(base_dir)',
'clang_dir%': '<(clang_dir)', 'clang_dir%': '<(clang_dir)',
'make_clang_dir%': '<(make_clang_dir)',
'host_arch%': '<(host_arch)', 'host_arch%': '<(host_arch)',
'host_clang%': '<(host_clang)', 'host_clang%': '<(host_clang)',
'target_arch%': '<(target_arch)', 'target_arch%': '<(target_arch)',
...@@ -190,6 +198,7 @@ ...@@ -190,6 +198,7 @@
'msan%': '<(msan)', 'msan%': '<(msan)',
'tsan%': '<(tsan)', 'tsan%': '<(tsan)',
'sanitizer_coverage%': '<(sanitizer_coverage)', 'sanitizer_coverage%': '<(sanitizer_coverage)',
'use_prebuilt_instrumented_libraries%': '<(use_prebuilt_instrumented_libraries)',
'use_custom_libcxx%': '<(use_custom_libcxx)', 'use_custom_libcxx%': '<(use_custom_libcxx)',
'linux_use_bundled_gold%': '<(linux_use_bundled_gold)', 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)',
'use_lto%': '<(use_lto)', 'use_lto%': '<(use_lto)',
...@@ -654,6 +663,11 @@ ...@@ -654,6 +663,11 @@
}], }],
], ],
}], }],
['use_prebuilt_instrumented_libraries==1', {
'dependencies': [
'<(DEPTH)/third_party/instrumented_libraries/instrumented_libraries.gyp:prebuilt_instrumented_libraries',
],
}],
['use_custom_libcxx==1', { ['use_custom_libcxx==1', {
'dependencies': [ 'dependencies': [
'<(DEPTH)/buildtools/third_party/libc++/libc++.gyp:libcxx_proxy', '<(DEPTH)/buildtools/third_party/libc++/libc++.gyp:libcxx_proxy',
......
...@@ -498,8 +498,10 @@ ...@@ -498,8 +498,10 @@
}, },
'msan': { 'msan': {
'gn_args': 'is_msan=true', 'gn_args': ('is_msan=true msan_track_origins=2 '
'gyp_defines': 'clang=1 msan=1', 'use_prebuilt_instrumented_libraries=true'),
'gyp_defines': ('clang=1 msan=1 msan_track_origins=2 '
'use_prebuilt_instrumented_libraries=1'),
}, },
'release': { 'release': {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment