24 lines
869 B
Plaintext
24 lines
869 B
Plaintext
|
|
# Copyright 2020 The Chromium Authors
|
||
|
|
# 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 = !is_debug && !is_asan
|
||
|
|
}
|
||
|
|
|
||
|
|
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")
|
||
|
|
}
|