summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-06-10 13:26:22 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-06-10 12:49:15 +0000
commitba36da6c1f59da7687f6924cc558105dcd1c44dc (patch)
tree67c06881cb23db8a2410efa42dc8bcf4f229f587
parentbbb9fc1097eef8050ef11f507979a77bd04aa62d (diff)
Use -fno-delete-null-pointer-checks with gcc 6
V8 is not safe for removing null pointer checks. Until it is, we need to disable optimizations in GCC that assume it is not doing something wrong. This patch only enables it for v8, and requires it to be activated by qtwebengine. Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178 Task-number: QTBUG-53956 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--chromium/v8/build/toolchain.gypi7
1 files changed, 7 insertions, 0 deletions
diff --git a/chromium/v8/build/toolchain.gypi b/chromium/v8/build/toolchain.gypi
index 8a26cc276f5..2dd4a502357 100644
--- a/chromium/v8/build/toolchain.gypi
+++ b/chromium/v8/build/toolchain.gypi
@@ -72,6 +72,10 @@
# Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
'v8_no_strict_aliasing%': 0,
+ # V8 needs support for illegal null this pointers, and must disable
+ # optimizations in GCC 6 that relies on correct behavior.
+ 'v8_no_delete_null_pointer_checks%': 0,
+
# Chrome needs this definition unconditionally. For standalone V8 builds,
# it's handled in build/standalone.gypi.
'want_separate_host_toolset%': 1,
@@ -1066,6 +1070,9 @@
[ 'v8_no_strict_aliasing==1', {
'cflags': [ '-fno-strict-aliasing' ],
}],
+ [ 'v8_no_delete_null_pointer_checks==1', {
+ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
+ }],
], # conditions
}],
['OS=="solaris"', {