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

Side by Side Diff: build/common.gypi

Issue 139263003: Add a GYP flag to enable coverage gathering instrumentation in ASan builds. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # IMPORTANT: 5 # IMPORTANT:
6 # Please don't directly include this file if you are building via gyp_chromium, 6 # Please don't directly include this file if you are building via gyp_chromium,
7 # since gyp_chromium is automatically forcing its inclusion. 7 # since gyp_chromium is automatically forcing its inclusion.
8 { 8 {
9 # Variables expected to be overriden on the GYP command line (-D) or by 9 # Variables expected to be overriden on the GYP command line (-D) or by
10 # ~/.gyp/include.gypi. 10 # ~/.gyp/include.gypi.
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 # If this is set, the clang plugins used on the buildbot will be used. 350 # If this is set, the clang plugins used on the buildbot will be used.
351 # Run tools/clang/scripts/update.sh to make sure they are compiled. 351 # Run tools/clang/scripts/update.sh to make sure they are compiled.
352 # This causes 'clang_chrome_plugins_flags' to be set. 352 # This causes 'clang_chrome_plugins_flags' to be set.
353 # Has no effect if 'clang' is not set as well. 353 # Has no effect if 'clang' is not set as well.
354 'clang_use_chrome_plugins%': 1, 354 'clang_use_chrome_plugins%': 1,
355 355
356 # Enable building with ASAN (Clang's -fsanitize=address option). 356 # Enable building with ASAN (Clang's -fsanitize=address option).
357 # -fsanitize=address only works with clang, but asan=1 implies clang=1 357 # -fsanitize=address only works with clang, but asan=1 implies clang=1
358 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer 358 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer
359 'asan%': 0, 359 'asan%': 0,
360 # Enable coverage gathering instrumentation in ASan.
361 'asan_coverage%': 0,
360 362
361 # Enable building with LSan (Clang's -fsanitize=leak option). 363 # Enable building with LSan (Clang's -fsanitize=leak option).
362 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1 364 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1
363 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks anitizer 365 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks anitizer
364 'lsan%': 0, 366 'lsan%': 0,
365 367
366 # Enable building with TSAN (Clang's -fsanitize=thread option). 368 # Enable building with TSAN (Clang's -fsanitize=thread option).
367 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1 369 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1
368 # See http://clang.llvm.org/docs/ThreadSanitizer.html 370 # See http://clang.llvm.org/docs/ThreadSanitizer.html
369 'tsan%': 0, 371 'tsan%': 0,
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 'enable_one_click_signin%': '<(enable_one_click_signin)', 928 'enable_one_click_signin%': '<(enable_one_click_signin)',
927 'enable_webrtc%': '<(enable_webrtc)', 929 'enable_webrtc%': '<(enable_webrtc)',
928 'chromium_win_pch%': '<(chromium_win_pch)', 930 'chromium_win_pch%': '<(chromium_win_pch)',
929 'configuration_policy%': '<(configuration_policy)', 931 'configuration_policy%': '<(configuration_policy)',
930 'safe_browsing%': '<(safe_browsing)', 932 'safe_browsing%': '<(safe_browsing)',
931 'input_speech%': '<(input_speech)', 933 'input_speech%': '<(input_speech)',
932 'notifications%': '<(notifications)', 934 'notifications%': '<(notifications)',
933 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', 935 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
934 'mac_want_real_dsym%': '<(mac_want_real_dsym)', 936 'mac_want_real_dsym%': '<(mac_want_real_dsym)',
935 'asan%': '<(asan)', 937 'asan%': '<(asan)',
938 'asan_coverage%': '<(asan_coverage)',
Alexander Potapenko 2014/01/15 16:35:01 Can we have asan_coverage=1 imply asan=1?
936 'lsan%': '<(lsan)', 939 'lsan%': '<(lsan)',
937 'msan%': '<(msan)', 940 'msan%': '<(msan)',
938 'tsan%': '<(tsan)', 941 'tsan%': '<(tsan)',
939 'tsan_blacklist%': '<(tsan_blacklist)', 942 'tsan_blacklist%': '<(tsan_blacklist)',
940 'use_instrumented_libraries%': '<(use_instrumented_libraries)', 943 'use_instrumented_libraries%': '<(use_instrumented_libraries)',
941 'use_custom_libcxx%': '<(use_custom_libcxx)', 944 'use_custom_libcxx%': '<(use_custom_libcxx)',
942 'clang_type_profiler%': '<(clang_type_profiler)', 945 'clang_type_profiler%': '<(clang_type_profiler)',
943 'order_profiling%': '<(order_profiling)', 946 'order_profiling%': '<(order_profiling)',
944 'order_text_section%': '<(order_text_section)', 947 'order_text_section%': '<(order_text_section)',
945 'enable_extensions%': '<(enable_extensions)', 948 'enable_extensions%': '<(enable_extensions)',
(...skipping 2511 matching lines...) Expand 10 before | Expand all | Expand 10 after
3457 ], 3460 ],
3458 'ldflags': [ 3461 'ldflags': [
3459 '-fsanitize=address', 3462 '-fsanitize=address',
3460 ], 3463 ],
3461 'defines': [ 3464 'defines': [
3462 'ADDRESS_SANITIZER', 3465 'ADDRESS_SANITIZER',
3463 ], 3466 ],
3464 }], 3467 }],
3465 ], 3468 ],
3466 }], 3469 }],
3470 ['asan_coverage==1', {
3471 'target_conditions': [
3472 ['_toolset=="target"', {
3473 'cflags': [
3474 '-mllvm -asan-coverage=1',
3475 ],
3476 }],
3477 ],
3478 }],
3467 ['lsan==1', { 3479 ['lsan==1', {
3468 'target_conditions': [ 3480 'target_conditions': [
3469 ['_toolset=="target"', { 3481 ['_toolset=="target"', {
3470 'cflags': [ 3482 'cflags': [
3471 '-fsanitize=leak', 3483 '-fsanitize=leak',
3472 ], 3484 ],
3473 'ldflags': [ 3485 'ldflags': [
3474 '-fsanitize=leak', 3486 '-fsanitize=leak',
3475 ], 3487 ],
3476 'defines': [ 3488 'defines': [
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
4111 'OTHER_CFLAGS': [ 4123 'OTHER_CFLAGS': [
4112 '-fsanitize=address', 4124 '-fsanitize=address',
4113 '-w', # http://crbug.com/162783 4125 '-w', # http://crbug.com/162783
4114 ], 4126 ],
4115 }, 4127 },
4116 'defines': [ 4128 'defines': [
4117 'ADDRESS_SANITIZER', 4129 'ADDRESS_SANITIZER',
4118 'MEMORY_TOOL_REPLACES_ALLOCATOR', 4130 'MEMORY_TOOL_REPLACES_ALLOCATOR',
4119 ], 4131 ],
4120 }], 4132 }],
4133 ['asan_coverage==1', {
4134 'target_conditions': [
4135 ['_toolset=="target"', {
4136 'cflags': [
4137 '-mllvm -asan-coverage=1',
Alexander Potapenko 2014/01/15 16:35:01 What about the xcode-specific flags?
4138 ],
4139 }],
4140 ],
4141 }],
4121 ], 4142 ],
4122 'target_conditions': [ 4143 'target_conditions': [
4123 ['_type!="static_library"', { 4144 ['_type!="static_library"', {
4124 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, 4145 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
4125 'conditions': [ 4146 'conditions': [
4126 ['asan==1', { 4147 ['asan==1', {
4127 'xcode_settings': { 4148 'xcode_settings': {
4128 'OTHER_LDFLAGS': [ 4149 'OTHER_LDFLAGS': [
4129 '-fsanitize=address', 4150 '-fsanitize=address',
4130 ], 4151 ],
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
4826 # settings in target dicts. SYMROOT is a special case, because many other 4847 # settings in target dicts. SYMROOT is a special case, because many other
4827 # Xcode variables depend on it, including variables such as 4848 # Xcode variables depend on it, including variables such as
4828 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 4849 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
4829 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 4850 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
4830 # files to appear (when present) in the UI as actual files and not red 4851 # files to appear (when present) in the UI as actual files and not red
4831 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 4852 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
4832 # and therefore SYMROOT, needs to be set at the project level. 4853 # and therefore SYMROOT, needs to be set at the project level.
4833 'SYMROOT': '<(DEPTH)/xcodebuild', 4854 'SYMROOT': '<(DEPTH)/xcodebuild',
4834 }, 4855 },
4835 } 4856 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698