OLD | NEW |
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 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 # Track where uninitialized memory originates from. From fastest to | 389 # Track where uninitialized memory originates from. From fastest to |
390 # slowest: 0 - no tracking, 1 - track only the initial allocation site, 2 | 390 # slowest: 0 - no tracking, 1 - track only the initial allocation site, 2 |
391 # - track the chain of stores leading from allocation site to use site. | 391 # - track the chain of stores leading from allocation site to use site. |
392 'msan_track_origins%': 1, | 392 'msan_track_origins%': 1, |
393 | 393 |
394 # Enable building with UBSan (Clang's -fsanitize=undefined option). | 394 # Enable building with UBSan (Clang's -fsanitize=undefined option). |
395 # -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 | 395 # -fsanitize=undefined only works with clang, but ubsan=1 implies clang=1 |
396 # See http://clang.llvm.org/docs/UsersManual.html | 396 # See http://clang.llvm.org/docs/UsersManual.html |
397 'ubsan%': 0, | 397 'ubsan%': 0, |
398 | 398 |
399 # Enable building with UBsan's vptr (Clang's -fsanitize=vptr -fsanitize=nu
ll options). | 399 # Enable building with UBsan's vptr (Clang's -fsanitize=vptr option). |
400 # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1 | 400 # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1 |
401 'ubsan_vptr%': 0, | 401 'ubsan_vptr%': 0, |
402 'ubsan_vptr_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan_vptr/blacklist.
txt', | 402 'ubsan_vptr_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan_vptr/blacklist.
txt', |
403 | 403 |
404 # Use the dynamic libraries instrumented by one of the sanitizers | 404 # Use the dynamic libraries instrumented by one of the sanitizers |
405 # instead of the standard system libraries. | 405 # instead of the standard system libraries. |
406 'use_instrumented_libraries%': 0, | 406 'use_instrumented_libraries%': 0, |
407 | 407 |
408 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of | 408 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of |
409 # stdlibc++ as standard library. This is intended to use for instrumented | 409 # stdlibc++ as standard library. This is intended to use for instrumented |
(...skipping 3615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4025 '-Wno-error=unused-function', # http://crbug.com/162783 | 4025 '-Wno-error=unused-function', # http://crbug.com/162783 |
4026 ], | 4026 ], |
4027 }], | 4027 }], |
4028 ], | 4028 ], |
4029 }], | 4029 }], |
4030 ['ubsan_vptr==1', { | 4030 ['ubsan_vptr==1', { |
4031 'target_conditions': [ | 4031 'target_conditions': [ |
4032 ['_toolset=="target"', { | 4032 ['_toolset=="target"', { |
4033 'cflags': [ | 4033 'cflags': [ |
4034 '-fsanitize=vptr', | 4034 '-fsanitize=vptr', |
4035 '-fsanitize=null', # Avoid dereferences on null pointer objec
ts. | |
4036 '-fsanitize-blacklist=<(ubsan_vptr_blacklist)', | 4035 '-fsanitize-blacklist=<(ubsan_vptr_blacklist)', |
4037 ], | 4036 ], |
4038 'cflags_cc!': [ | 4037 'cflags_cc!': [ |
4039 '-fno-rtti', | 4038 '-fno-rtti', |
4040 ], | 4039 ], |
4041 'cflags!': [ | 4040 'cflags!': [ |
4042 '-fno-rtti', | 4041 '-fno-rtti', |
4043 ], | 4042 ], |
4044 'ldflags': [ | 4043 'ldflags': [ |
4045 '-fsanitize=vptr', # -fsanitize=null is not necessary. | 4044 '-fsanitize=vptr', |
4046 ], | 4045 ], |
4047 'defines': [ | 4046 'defines': [ |
4048 'UNDEFINED_SANITIZER', | 4047 'UNDEFINED_SANITIZER', |
4049 ], | 4048 ], |
4050 }], | 4049 }], |
4051 ], | 4050 ], |
4052 'conditions': [ | 4051 'conditions': [ |
4053 ['OS=="mac"', { | 4052 ['OS=="mac"', { |
4054 'cflags': [ | 4053 'cflags': [ |
4055 '-Wno-error=unused-function', # http://crbug.com/162783 | 4054 '-Wno-error=unused-function', # http://crbug.com/162783 |
(...skipping 1598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5654 # settings in target dicts. SYMROOT is a special case, because many other | 5653 # settings in target dicts. SYMROOT is a special case, because many other |
5655 # Xcode variables depend on it, including variables such as | 5654 # Xcode variables depend on it, including variables such as |
5656 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5655 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5657 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5656 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5658 # files to appear (when present) in the UI as actual files and not red | 5657 # files to appear (when present) in the UI as actual files and not red |
5659 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5658 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5660 # and therefore SYMROOT, needs to be set at the project level. | 5659 # and therefore SYMROOT, needs to be set at the project level. |
5661 'SYMROOT': '<(DEPTH)/xcodebuild', | 5660 'SYMROOT': '<(DEPTH)/xcodebuild', |
5662 }, | 5661 }, |
5663 } | 5662 } |
OLD | NEW |