Index: build/common.gypi |
diff --git a/build/common.gypi b/build/common.gypi |
index fade1eb3f061e0b71005160bebc848cffa87af9a..50346d15e95bf48bfb2c395c6d7b0acfabc3c6b9 100644 |
--- a/build/common.gypi |
+++ b/build/common.gypi |
@@ -702,6 +702,7 @@ |
# Control Flow Integrity for virtual calls and casts. |
# See http://clang.llvm.org/docs/ControlFlowIntegrity.html |
'cfi_vptr%': 0, |
+ 'cfi_diag%': 0, |
'cfi_blacklist%': '<(PRODUCT_DIR)/../../tools/cfi/blacklist.txt', |
@@ -1240,6 +1241,7 @@ |
'video_hole%': '<(video_hole)', |
'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', |
'cfi_vptr%': '<(cfi_vptr)', |
+ 'cfi_diag%': '<(cfi_diag)', |
'cfi_blacklist%': '<(cfi_blacklist)', |
'mac_views_browser%': '<(mac_views_browser)', |
'android_app_version_name%': '<(android_app_version_name)', |
@@ -6099,6 +6101,44 @@ |
], |
}, |
}], |
+ ['cfi_diag==1', { |
+ 'target_defaults': { |
+ 'target_conditions': [ |
+ ['_toolset=="target"', { |
+ 'cflags': [ |
+ '-fno-sanitize-trap=cfi', |
+ '-fsanitize-recover=cfi', |
+ ], |
+ 'ldflags': [ |
+ '-fno-sanitize-trap=cfi', |
+ '-fsanitize-recover=cfi', |
+ ], |
+ 'xcode_settings': { |
+ 'OTHER_CFLAGS': [ |
+ '-fno-sanitize-trap=cfi', |
+ '-fsanitize-recover=cfi', |
+ ], |
+ }, |
+ 'msvs_settings': { |
+ 'VCCLCompilerTool': { |
+ 'AdditionalOptions': [ |
+ '-fno-sanitize-trap=cfi', |
+ '-fsanitize-recover=cfi', |
+ ], |
+ }, |
+ }, |
+ }], |
+ ['_toolset=="target" and _type!="static_library"', { |
+ 'xcode_settings': { |
+ 'OTHER_LDFLAGS': [ |
+ '-fno-sanitize-trap=cfi', |
+ '-fsanitize-recover=cfi', |
+ ], |
+ }, |
+ }], |
+ ], |
+ }, |
+ }], |
['cfi_vptr==1', { |
'target_defaults': { |
'target_conditions': [ |