commit 1d9acb4d8b69531397e3224491dae48f1404b9a5
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Tue Aug 14 16:32:41 2018 -0400
fix aarch64 compile
..._squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch | 54 ++++++++++++++++++++++
chromium.spec | 3 ++
2 files changed, 57 insertions(+)
---
diff --git a/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch
b/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch
new file mode 100644
index 0000000..f73ded3
--- /dev/null
+++ b/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch
@@ -0,0 +1,54 @@
+Upstream-Status: Submitted
+
+GCC aarch64 build fix [this is actually a libvpx patch, not a Chromium one]
+
+Sent to:
https://chromium-review.googlesource.com/c/webm/libvpx/+/1136449
+
+Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+---
+From c20bd394f18c47bf133b51d6a40399273c3f24e0 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Fri, 13 Jul 2018 14:29:09 +0200
+Subject: [PATCH] vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t.
+
+This fixes the build with at least GCC 7.3, where it was previously failing
+with:
+
+../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c: In function
'vpx_sum_squares_2d_i16_neon':
+../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:5: note: use
-flax-vector-conversions to permit conversions between vectors with differing element
types or numbers of subparts
+ s2 = vpaddl_u32(s1);
+ ^~
+../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:8: error:
incompatible types when assigning to type 'int64x1_t' from type
'uint64x1_t'
+ s2 = vpaddl_u32(s1);
+ ^
+../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:81:8: error:
incompatible types when assigning to type 'int64x1_t' from type
'uint64x1_t'
+ s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1));
+ ^
+../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:84:24: error:
incompatible type for argument 1 of 'vget_lane_u64'
+ return vget_lane_u64(s2, 0);
+ ^~
+
+The generated assembly was verified to remain identical with both GCC and
+LLVM.
+
+Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac
+---
+ vpx_dsp/arm/sum_squares_neon.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vpx_dsp/arm/sum_squares_neon.c b/vpx_dsp/arm/sum_squares_neon.c
+index 8942ba83b..cfefad993 100644
+--- a/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c
++++ b/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c
+@@ -14,7 +14,7 @@
+ #include "./vpx_dsp_rtcd.h"
+
+ uint64_t vpx_sum_squares_2d_i16_neon(const int16_t *src, int stride, int size) {
+- int64x1_t s2;
++ uint64x1_t s2;
+
+ if (size == 4) {
+ int16x4_t s[4];
+--
+2.14.4
+
diff --git a/chromium.spec b/chromium.spec
index a36d54d..2ec53dc 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -275,6 +275,8 @@ Patch106: chromium-68.0.3440.84-libjpeg.patch
Patch107: chromium-68.0.3440.84-libwebp-shim.patch
# GCC: do not std::move unique ptr of forward declared UrlIndex
Patch108: chromium-68.0.3440.84-move-unique-ptr.patch
+#
https://github.com/OSSystems/meta-browser/blob/master/recipes-browser/chr...
+Patch109: 0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found
here:
#
http://build.chromium.org/buildbot/official/
@@ -801,6 +803,7 @@ udev.
%patch106 -p1 -b .libjpeg
%patch107 -p1 -b .webp
%patch108 -p1 -b .move-unique-ptr
+%patch109 -p1 -b .aarch64-int64x1_t
# Change shebang in all relevant files in this directory and all subdirectories