| # Copyright 2020 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/sanitizers/sanitizers.gni") |
| |
| declare_args() { |
| # Set this to true to enable generation of CFG indirect call dispatch |
| # guards. |
| win_enable_cfg_guards = false |
| } |
| |
| if (win_enable_cfg_guards) { |
| # Control Flow Guard (CFG) |
| # https://msdn.microsoft.com/en-us/library/windows/desktop/mt637065.aspx |
| # /DYNAMICBASE (ASLR) is turned off in debug builds, therefore CFG can't be |
| # turned on either. |
| # ASan and CFG leads to slow process startup. Chromium's test runner uses |
| # lots of child processes, so this means things are really slow. Disable CFG |
| # for now. https://crbug.com/846966 |
| assert(!is_debug && !is_asan, |
| "CFG does not work well in debug builds or with ASAN") |
| } |