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

Unified Diff: build/common.gypi

Issue 1001833005: Update from https://crrev.com/320343 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Supress Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/pylib/utils/isolator.py ('k') | build/config/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index d72c76f2867248991e57f5e9198ec063745af958..043dd924ee0fb1f5809e9517d16b108f1bed10fb 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -416,6 +416,9 @@
# See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo
'syzyasan%': 0,
+ # Enable crash reporting via Kasko.
+ 'kasko%': 0,
+
# Enable building with LSan (Clang's -fsanitize=leak option).
# -fsanitize=leak only works with clang, but lsan=1 implies clang=1
# See https://sites.google.com/a/chromium.org/dev/developers/testing/leaksanitizer
@@ -643,6 +646,10 @@
# Libxkbcommon usage.
'use_xkbcommon%': 0,
+ # Control Flow Integrity for virtual calls.
+ # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
+ 'cfi_vptr%': 0,
+
'conditions': [
# A flag for POSIX platforms
['OS=="win"', {
@@ -771,7 +778,6 @@
}],
['OS=="mac" or OS=="ios"', {
- 'native_discardable_memory%': 1,
'native_memory_pressure_signals%': 1,
}],
@@ -808,7 +814,6 @@
'enable_supervised_users%': 0,
'enable_task_manager%': 0,
'use_system_libcxx%': 1,
- 'support_pre_M6_history_database%': 0,
}],
# Use GPU accelerated cross process image transport by default
@@ -1063,9 +1068,6 @@
'google_default_client_secret%': '',
# Native Client is enabled by default.
'disable_nacl%': '0',
-
- # Set to 1 to support old history files
- 'support_pre_M6_history_database%': '1',
},
# Copy conditionally-set variables out one scope.
@@ -1140,6 +1142,7 @@
'asan_field_padding%': '<(asan_field_padding)',
'use_sanitizer_options%': '<(use_sanitizer_options)',
'syzyasan%': '<(syzyasan)',
+ 'kasko%': '<(kasko)',
'syzygy_optimize%': '<(syzygy_optimize)',
'lsan%': '<(lsan)',
'msan%': '<(msan)',
@@ -1214,8 +1217,8 @@
'use_lto_o2%': '<(use_lto_o2)',
'gold_icf_level%': '<(gold_icf_level)',
'video_hole%': '<(video_hole)',
- 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)',
'v8_use_external_startup_data%': '<(v8_use_external_startup_data)',
+ 'cfi_vptr%': '<(cfi_vptr)',
# Use system protobuf instead of bundled one.
'use_system_protobuf%': 0,
@@ -1951,6 +1954,9 @@
['asan==1 or syzyasan==1', {
'win_use_allocator_shim%': 0,
}],
+ ['syzyasan==1', {
+ 'kasko%': 1,
+ }],
['component=="shared_library" and "<(GENERATOR)"=="ninja"', {
# Only enabled by default for ninja because it's buggy in VS.
# Not enabled for component=static_library because some targets
@@ -2162,8 +2168,19 @@
'enable_service_discovery%': 1
}],
['clang_use_chrome_plugins==1 and OS!="win"', {
+ 'variables': {
+ 'conditions': [
+ ['OS=="mac" or OS=="ios"', {
+ 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib',
+ }, { # OS != "mac" or OS != "ios"
+ 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so',
+ }],
+ ],
+ },
+ # If you change these, also change build/config/clang/BUILD.gn.
'clang_chrome_plugins_flags%':
- '<!(python <(DEPTH)/tools/clang/scripts/plugin_flags.py)',
+ '-Xclang -load -Xclang <(clang_lib_path)'
+ ' -Xclang -add-plugin -Xclang find-bad-constructs',
}],
['asan==1 or msan==1 or lsan==1 or tsan==1', {
'clang%': 1,
@@ -2376,10 +2393,11 @@
}, {
'use_seccomp_bpf%': 0,
}],
- ],
- # older history files use fts2 instead of fts3
- 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)',
+ ['cfi_vptr==1', {
+ 'use_lto%': 1,
+ }],
+ ],
# The path to the ANGLE library.
'angle_path': '<(DEPTH)/third_party/angle',
@@ -2796,6 +2814,11 @@
'MEMORY_TOOL_REPLACES_ALLOCATOR',
'MEMORY_SANITIZER_INITIAL_SIZE',
],
+ }],
+ ['kasko==1', {
+ 'defines': [
+ 'KASKO',
+ ],
'include_dirs': [
'<(DEPTH)/third_party/kasko/include',
],
@@ -2953,9 +2976,6 @@
['disable_ftp_support==1', {
'defines': ['DISABLE_FTP_SUPPORT=1'],
}],
- ['use_icu_alternatives_on_android==1', {
- 'defines': ['USE_ICU_ALTERNATIVES_ON_ANDROID=1'],
- }],
['enable_supervised_users==1', {
'defines': ['ENABLE_SUPERVISED_USERS=1'],
}],
@@ -3990,6 +4010,7 @@
['clang==1', {
'cflags!': [
# Clang does not support the following options.
+ '-mapcs-frame',
'-mthumb-interwork',
'-finline-limit=64',
'-fno-tree-sra',
@@ -4461,6 +4482,14 @@
# '-Wl,--threads',
# '-Wl,--thread-count=4',
],
+ 'conditions': [
+ # TODO(thestig): Enable this for disabled cases.
+ [ 'buildtype!="Official" and chromeos==0 and release_valgrind_build==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan==0 and ubsan_vptr==0', {
+ 'ldflags': [
+ '-Wl,--detect-odr-violations',
+ ],
+ }],
+ ],
}],
],
'conditions': [
@@ -5927,6 +5956,20 @@
],
},
}],
+ ['cfi_vptr==1', {
+ 'target_defaults': {
+ 'target_conditions': [
+ ['_toolset=="target"', {
+ 'cflags': [
+ '-fsanitize=cfi-vptr',
+ ],
+ 'ldflags': [
+ '-fsanitize=cfi-vptr',
+ ],
+ }],
+ ],
+ },
+ }],
],
'xcode_settings': {
# DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT!
« no previous file with comments | « build/android/pylib/utils/isolator.py ('k') | build/config/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698