diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-06-10 13:26:22 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-06-10 12:49:15 +0000 |
commit | ba36da6c1f59da7687f6924cc558105dcd1c44dc (patch) | |
tree | 67c06881cb23db8a2410efa42dc8bcf4f229f587 | |
parent | bbb9fc1097eef8050ef11f507979a77bd04aa62d (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.gypi | 7 |
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"', { |