diff options
author | Michal Klocek <michal.klocek@qt.io> | 2022-05-25 08:00:18 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2022-06-10 10:49:44 +0000 |
commit | 88398c89a7b34606120ff919f873cb59ce3bcf2f (patch) | |
tree | 286c36f69d7d53d69bfcafbb9fa9680f1319fd32 | |
parent | 3a4c9ba6936ec8b11a97ea0b3c684b3002f01a12 (diff) | |
download | qtwebengine-chromium-88398c89a7b34606120ff919f873cb59ce3bcf2f.tar.gz |
Fix broken bundled zlib for cross compilation
Bundled zlib when cross compiling with neon support
assumes armv8 and requires built-in intrinsics for the
ARMv8-A CRC32. However qt supports armv7 with neon support,
which will end up in false armv8 outcome architecture for
final library and will end up in unusable binaries for
armv7 platform.
Disable neon optimization for crc32, we should use
system zlib anyway which is fixed in other patches.
Task-number: QTBUG-103149
Pick-to: 94-based 90-based
Change-Id: Ibfb5caa67cfea53b4c6a1bc1ed4948816c05ca38
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | chromium/third_party/zlib/BUILD.gn | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn index a495245f1dd..ee0ee2608cb 100644 --- a/chromium/third_party/zlib/BUILD.gn +++ b/chromium/third_party/zlib/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/features.gni") import("//build/config/compiler/compiler.gni") import("//build/shim_headers.gni") @@ -126,7 +127,7 @@ if (use_arm_neon_optimizations) { # Disabled for iPhone, as described in DDI0487C_a_armv8_arm: # "All implementations of the ARMv8.1 architecture are required to # implement the CRC32* instructions. These are optional in ARMv8.0." - if (!is_ios) { + if (!is_ios && !use_qt) { defines = [ "CRC32_ARMV8_CRC32" ] if (is_android) { defines += [ "ARMV8_OS_ANDROID" ] @@ -147,7 +148,7 @@ if (use_arm_neon_optimizations) { source_set("zlib_arm_crc32") { visibility = [ ":*" ] - if (!is_ios) { + if (!is_ios && !use_qt) { include_dirs = [ "." ] if (!is_win && !is_clang) { |