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

Side by Side Diff: build/common.gypi

Issue 2106313002: Enable whole-program vtable opt when CFI is enabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 | build/config/compiler/BUILD.gn » ('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 6067 matching lines...) Expand 10 before | Expand all | Expand 10 after
6078 ], 6078 ],
6079 }, 6079 },
6080 }], 6080 }],
6081 ['use_lto==1 and clang==1', { 6081 ['use_lto==1 and clang==1', {
6082 'target_defaults': { 6082 'target_defaults': {
6083 'target_conditions': [ 6083 'target_conditions': [
6084 ['_toolset=="target"', { 6084 ['_toolset=="target"', {
6085 'arflags': [ 6085 'arflags': [
6086 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', 6086 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so',
6087 ], 6087 ],
6088 'cflags': [
6089 '-fwhole-program-vtables',
6090 ],
6091 'ldflags': [
6092 '-fwhole-program-vtables',
6093 ],
6088 }], 6094 }],
6089 ], 6095 ],
6090 'msvs_settings': { 6096 'msvs_settings': {
6091 'VCCLCompilerTool': { 6097 'VCCLCompilerTool': {
6092 'AdditionalOptions': [ 6098 'AdditionalOptions': [
6093 # TODO(pcc): Add LTO support to clang-cl driver and use it here. 6099 # TODO(pcc): Add LTO support to clang-cl driver and use it here.
6094 '-Xclang', 6100 '-Xclang',
6095 '-emit-llvm-bc', 6101 '-emit-llvm-bc',
6096 ], 6102 ],
6097 }, 6103 },
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
6267 '-fsanitize-blacklist=<(cfi_blacklist)', 6273 '-fsanitize-blacklist=<(cfi_blacklist)',
6268 '-Xclang', 6274 '-Xclang',
6269 '-fsanitize-blacklist=../../<(make_clang_dir)/lib/clang/<!(pyt hon <(DEPTH)/tools/clang/scripts/update.py --print-clang-version)/cfi_blacklist. txt', 6275 '-fsanitize-blacklist=../../<(make_clang_dir)/lib/clang/<!(pyt hon <(DEPTH)/tools/clang/scripts/update.py --print-clang-version)/cfi_blacklist. txt',
6270 ], 6276 ],
6271 }, 6277 },
6272 }, 6278 },
6273 }], 6279 }],
6274 ], 6280 ],
6275 }, 6281 },
6276 }], 6282 }],
6277 # TODO(pcc): Make these flags work correctly with CFI.
6278 ['use_lto!=0 and cfi_vptr==0', {
6279 'target_defaults': {
6280 'target_conditions': [
6281 ['_toolset=="target"', {
6282 'cflags': [
6283 '-fwhole-program-vtables',
6284 ],
6285 'ldflags': [
6286 '-fwhole-program-vtables',
6287 ],
6288 }],
6289 ],
6290 },
6291 }],
6292 ], 6283 ],
6293 'xcode_settings': { 6284 'xcode_settings': {
6294 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! 6285 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT!
6295 # This block adds *project-wide* configuration settings to each project 6286 # This block adds *project-wide* configuration settings to each project
6296 # file. It's almost always wrong to put things here. Specify your 6287 # file. It's almost always wrong to put things here. Specify your
6297 # custom xcode_settings in target_defaults to add them to targets instead. 6288 # custom xcode_settings in target_defaults to add them to targets instead.
6298 6289
6299 'conditions': [ 6290 'conditions': [
6300 # In an Xcode Project Info window, the "Base SDK for All Configurations" 6291 # In an Xcode Project Info window, the "Base SDK for All Configurations"
6301 # setting sets the SDK on a project-wide basis. In order to get the 6292 # setting sets the SDK on a project-wide basis. In order to get the
(...skipping 29 matching lines...) Expand all
6331 # settings in target dicts. SYMROOT is a special case, because many other 6322 # settings in target dicts. SYMROOT is a special case, because many other
6332 # Xcode variables depend on it, including variables such as 6323 # Xcode variables depend on it, including variables such as
6333 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 6324 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
6334 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 6325 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
6335 # files to appear (when present) in the UI as actual files and not red 6326 # files to appear (when present) in the UI as actual files and not red
6336 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 6327 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
6337 # and therefore SYMROOT, needs to be set at the project level. 6328 # and therefore SYMROOT, needs to be set at the project level.
6338 'SYMROOT': '<(DEPTH)/xcodebuild', 6329 'SYMROOT': '<(DEPTH)/xcodebuild',
6339 }, 6330 },
6340 } 6331 }
OLDNEW
« no previous file with comments | « no previous file | build/config/compiler/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698