From d03c8ccab741952fee6bd54fb56a878c7cc4ca97 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 10 Jun 2016 13:26:22 +0200 Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Joerg Bornemann --- chromium/v8/build/toolchain.gypi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/3rdparty/chromium/v8/build/toolchain.gypi b/src/3rdparty/chromium/v8/build/toolchain.gypi index 15d6014..2c6fbf6 100644 --- a/src/3rdparty/chromium/v8/build/toolchain.gypi +++ b/src/3rdparty/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"', { -- 2.7.4