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

Side by Side Diff: build/common.gypi

Issue 640853007: Add rudimentary support for ASan's intra-object-overflow detection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: blacklist Created 6 years, 2 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
« no previous file with comments | « no previous file | tools/memory/asan/blacklist.txt » ('j') | 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 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 # If this is set, the clang plugins used on the buildbot will be used. 375 # If this is set, the clang plugins used on the buildbot will be used.
376 # Run tools/clang/scripts/update.sh to make sure they are compiled. 376 # Run tools/clang/scripts/update.sh to make sure they are compiled.
377 # This causes 'clang_chrome_plugins_flags' to be set. 377 # This causes 'clang_chrome_plugins_flags' to be set.
378 # Has no effect if 'clang' is not set as well. 378 # Has no effect if 'clang' is not set as well.
379 'clang_use_chrome_plugins%': 1, 379 'clang_use_chrome_plugins%': 1,
380 380
381 # Enable building with ASAN (Clang's -fsanitize=address option). 381 # Enable building with ASAN (Clang's -fsanitize=address option).
382 # -fsanitize=address only works with clang, but asan=1 implies clang=1 382 # -fsanitize=address only works with clang, but asan=1 implies clang=1
383 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer 383 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer
384 'asan%': 0, 384 'asan%': 0,
385 'asan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/asan/blacklist.txt',
385 # Enable coverage gathering instrumentation in ASan. This flag also 386 # Enable coverage gathering instrumentation in ASan. This flag also
386 # controls coverage granularity (1 for function-level coverage, 2 for 387 # controls coverage granularity (1 for function-level coverage, 2 for
387 # block-level coverage). 388 # block-level coverage).
388 'asan_coverage%': 0, 389 'asan_coverage%': 0,
390 # Enable intra-object-overflow detection in ASan (experimental).
391 'asan_field_padding%': 0,
389 392
390 # Enable Chromium overrides of the default configurations for various 393 # Enable Chromium overrides of the default configurations for various
391 # dynamic tools (like ASan). 394 # dynamic tools (like ASan).
392 'use_sanitizer_options%': 0, 395 'use_sanitizer_options%': 0,
393 396
394 # Enable building with SyzyAsan. 397 # Enable building with SyzyAsan.
395 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo 398 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo
396 'syzyasan%': 0, 399 'syzyasan%': 0,
397 400
398 # Enable building with LSan (Clang's -fsanitize=leak option). 401 # Enable building with LSan (Clang's -fsanitize=leak option).
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
1098 'enable_pre_sync_backup%': '<(enable_pre_sync_backup)', 1101 'enable_pre_sync_backup%': '<(enable_pre_sync_backup)',
1099 'enable_webrtc%': '<(enable_webrtc)', 1102 'enable_webrtc%': '<(enable_webrtc)',
1100 'chromium_win_pch%': '<(chromium_win_pch)', 1103 'chromium_win_pch%': '<(chromium_win_pch)',
1101 'configuration_policy%': '<(configuration_policy)', 1104 'configuration_policy%': '<(configuration_policy)',
1102 'safe_browsing%': '<(safe_browsing)', 1105 'safe_browsing%': '<(safe_browsing)',
1103 'enable_web_speech%': '<(enable_web_speech)', 1106 'enable_web_speech%': '<(enable_web_speech)',
1104 'notifications%': '<(notifications)', 1107 'notifications%': '<(notifications)',
1105 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', 1108 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
1106 'mac_want_real_dsym%': '<(mac_want_real_dsym)', 1109 'mac_want_real_dsym%': '<(mac_want_real_dsym)',
1107 'asan%': '<(asan)', 1110 'asan%': '<(asan)',
1111 'asan_blacklist%': '<(asan_blacklist)',
1108 'asan_coverage%': '<(asan_coverage)', 1112 'asan_coverage%': '<(asan_coverage)',
1113 'asan_field_padding%': '<(asan_field_padding)',
1109 'use_sanitizer_options%': '<(use_sanitizer_options)', 1114 'use_sanitizer_options%': '<(use_sanitizer_options)',
1110 'syzyasan%': '<(syzyasan)', 1115 'syzyasan%': '<(syzyasan)',
1111 'syzygy_optimize%': '<(syzygy_optimize)', 1116 'syzygy_optimize%': '<(syzygy_optimize)',
1112 'lsan%': '<(lsan)', 1117 'lsan%': '<(lsan)',
1113 'msan%': '<(msan)', 1118 'msan%': '<(msan)',
1114 'msan_blacklist%': '<(msan_blacklist)', 1119 'msan_blacklist%': '<(msan_blacklist)',
1115 'msan_track_origins%': '<(msan_track_origins)', 1120 'msan_track_origins%': '<(msan_track_origins)',
1116 'tsan%': '<(tsan)', 1121 'tsan%': '<(tsan)',
1117 'tsan_blacklist%': '<(tsan_blacklist)', 1122 'tsan_blacklist%': '<(tsan_blacklist)',
1118 'ubsan%': '<(ubsan)', 1123 'ubsan%': '<(ubsan)',
(...skipping 2928 matching lines...) Expand 10 before | Expand all | Expand 10 after
4047 'MEMORY_SANITIZER_INITIAL_SIZE', 4052 'MEMORY_SANITIZER_INITIAL_SIZE',
4048 ], 4053 ],
4049 }], 4054 }],
4050 ], 4055 ],
4051 }], 4056 }],
4052 ['asan==1', { 4057 ['asan==1', {
4053 'target_conditions': [ 4058 'target_conditions': [
4054 ['_toolset=="target"', { 4059 ['_toolset=="target"', {
4055 'cflags': [ 4060 'cflags': [
4056 '-fsanitize=address', 4061 '-fsanitize=address',
4062 '-fsanitize-blacklist=<(asan_blacklist)',
4057 ], 4063 ],
4058 'ldflags': [ 4064 'ldflags': [
4059 '-fsanitize=address', 4065 '-fsanitize=address',
4060 ], 4066 ],
4061 }], 4067 }],
4062 ], 4068 ],
4063 'conditions': [ 4069 'conditions': [
4064 ['OS=="mac"', { 4070 ['OS=="mac"', {
4065 'cflags': [ 4071 'cflags': [
4066 '-mllvm -asan-globals=0', # http://crbug.com/352073 4072 '-mllvm -asan-globals=0', # http://crbug.com/352073
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
4108 }], 4114 }],
4109 ['asan_coverage!=0', { 4115 ['asan_coverage!=0', {
4110 'target_conditions': [ 4116 'target_conditions': [
4111 ['_toolset=="target"', { 4117 ['_toolset=="target"', {
4112 'cflags': [ 4118 'cflags': [
4113 '-mllvm -asan-coverage=<(asan_coverage)', 4119 '-mllvm -asan-coverage=<(asan_coverage)',
4114 ], 4120 ],
4115 }], 4121 }],
4116 ], 4122 ],
4117 }], 4123 }],
4124 ['asan_field_padding!=0', {
4125 'target_conditions': [
4126 ['_toolset=="target"', {
4127 'cflags': [
4128 '-fsanitize-address-field-padding=<(asan_field_padding)',
4129 ],
4130 }],
4131 ],
4132 }],
4118 ['lsan==1', { 4133 ['lsan==1', {
4119 'target_conditions': [ 4134 'target_conditions': [
4120 ['_toolset=="target"', { 4135 ['_toolset=="target"', {
4121 'cflags': [ 4136 'cflags': [
4122 '-fsanitize=leak', 4137 '-fsanitize=leak',
4123 ], 4138 ],
4124 'ldflags': [ 4139 'ldflags': [
4125 '-fsanitize=leak', 4140 '-fsanitize=leak',
4126 ], 4141 ],
4127 'defines': [ 4142 'defines': [
(...skipping 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after
5742 # settings in target dicts. SYMROOT is a special case, because many other 5757 # settings in target dicts. SYMROOT is a special case, because many other
5743 # Xcode variables depend on it, including variables such as 5758 # Xcode variables depend on it, including variables such as
5744 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5759 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5745 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5760 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5746 # files to appear (when present) in the UI as actual files and not red 5761 # files to appear (when present) in the UI as actual files and not red
5747 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5762 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5748 # and therefore SYMROOT, needs to be set at the project level. 5763 # and therefore SYMROOT, needs to be set at the project level.
5749 'SYMROOT': '<(DEPTH)/xcodebuild', 5764 'SYMROOT': '<(DEPTH)/xcodebuild',
5750 }, 5765 },
5751 } 5766 }
OLDNEW
« no previous file with comments | « no previous file | tools/memory/asan/blacklist.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698