summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/win/control_flow_guard.gni
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/config/win/control_flow_guard.gni')
-rw-r--r--third_party/libwebrtc/build/config/win/control_flow_guard.gni23
1 files changed, 23 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/win/control_flow_guard.gni b/third_party/libwebrtc/build/config/win/control_flow_guard.gni
new file mode 100644
index 0000000000..bf6a82af0c
--- /dev/null
+++ b/third_party/libwebrtc/build/config/win/control_flow_guard.gni
@@ -0,0 +1,23 @@
+# 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")
+}