diff options
Diffstat (limited to 'community/chromium/gcc-fno-delete-null-pointer-checks.patch')
-rw-r--r-- | community/chromium/gcc-fno-delete-null-pointer-checks.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/community/chromium/gcc-fno-delete-null-pointer-checks.patch b/community/chromium/gcc-fno-delete-null-pointer-checks.patch new file mode 100644 index 0000000000..792cef60f6 --- /dev/null +++ b/community/chromium/gcc-fno-delete-null-pointer-checks.patch @@ -0,0 +1,19 @@ +diff --git a/v8/BUILD.gn b/v8/BUILD.gn +index 3c03942..870b1e6 100644 +--- ./v8/BUILD.gn ++++ ./v8/BUILD.gn +@@ -577,6 +577,14 @@ config("toolchain") { + defines += [ "V8_ANDROID_LOG_STDOUT" ] + } + ++ if (!is_win && !is_clang) { ++ # GCC 6+ can optimize away pointer comparisons to null. This is ++ # problematic as V8 encodes Values through tagged pointers and comparisons ++ # with 0 are actually necessary in many cases. As a temporary Workaround ++ # we disable this optimization. See: https://crbug.com/v8/3782 ++ cflags += [ "-fno-delete-null-pointer-checks" ] ++ } ++ + # TODO(jochen): Support v8_enable_prof on Windows. + # TODO(jochen): Add support for compiling with simulators. + |