diff --git a/chromium-83.0.4103.97-gcc10-aarch64-hack.patch b/chromium-83.0.4103.97-gcc10-aarch64-hack.patch new file mode 100644 index 00000000..028b0248 --- /dev/null +++ b/chromium-83.0.4103.97-gcc10-aarch64-hack.patch @@ -0,0 +1,45 @@ +diff -up chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h.gcc10-aarch64-hack chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h +--- chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h.gcc10-aarch64-hack 2020-06-18 14:47:30.912177044 +0000 ++++ chromium-83.0.4103.97/third_party/skia/include/private/SkVx.h 2020-06-18 14:51:08.230506417 +0000 +@@ -141,6 +141,15 @@ static inline D bit_pun(const S& s) { + return d; + } + ++// This is a hack to work around GCC PR95726 ++template ++static inline D bit_pun2(const S& s) { ++ static_assert(sizeof(D) == sizeof(S), ""); ++ D d; ++ memcpy(&d, &s, sizeof(D)); ++ return d; ++} ++ + // Translate from a value type T to its corresponding Mask, the result of a comparison. + template struct Mask { using type = T; }; + template <> struct Mask { using type = int32_t; }; +@@ -554,9 +563,9 @@ static inline Vec approx_scal + static inline Vec<4,float> if_then_else(const Vec<4,int >& c, + const Vec<4,float>& t, + const Vec<4,float>& e) { +- return bit_pun>(vbslq_f32(bit_pun (c), +- bit_pun(t), +- bit_pun(e))); ++ return bit_pun>(vbslq_f32(bit_pun2 (c), ++ bit_pun2(t), ++ bit_pun2(e))); + } + #endif + +@@ -581,9 +590,9 @@ static inline Vec approx_scal + const Vec<4,float>& y, + const Vec<4,float>& z) { + // These instructions tend to work like z += xy, so the order here is z,x,y. +- return bit_pun>(vfmaq_f32(bit_pun(z), +- bit_pun(x), +- bit_pun(y))); ++ return bit_pun>(vfmaq_f32(bit_pun2(z), ++ bit_pun2(x), ++ bit_pun2(y))); + } + #endif + diff --git a/chromium.spec b/chromium.spec index 0696d676..0917612e 100644 --- a/chromium.spec +++ b/chromium.spec @@ -166,8 +166,8 @@ Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4103.97 -Release: 6%{?dist} +Version: %{majorversion}.0.4103.106 +Release: 1%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -269,7 +269,8 @@ Patch88: chromium-83-gcc-ozone-wayland.patch Patch90: chromium-83-gcc-compatibility.patch # Fix skia's handling of no_sanitize attributes to work with gcc Patch91: chromium-83.0.4103.97-skia-gcc-no_sanitize-fixes.patch - +# Work around aarch64 gcc bug (PR95726) +Patch92: chromium-83.0.4103.97-gcc10-aarch64-hack.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -853,6 +854,7 @@ udev. %patch88 -p1 -b .gcc-ozone-wayland %patch90 -p1 -b .gcc-compatibility %patch91 -p1 -b .gcc-no_sanitize +%patch92 -p1 -b .gcc10-aarch64-hack # Fedora branded user agent %if 0%{?fedora} @@ -1810,8 +1812,10 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog -* Wed Jun 17 2020 Tom Callaway - 83.0.4103.97-6 -- revert last change, I already had it. +* Thu Jun 18 2020 Tom Callaway - 83.0.4103.106-1 +- update to 83.0.4103.106 +- remove duplicate ServiceWorker fix +- add fix to work around gcc bug on aarch64 * Tue Jun 16 2020 Tom Callaway - 83.0.4103.97-5 - add ServiceWorker fix diff --git a/sources b/sources index 55b9f3e0..70dfa97d 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20 -SHA512 (chromium-83.0.4103.97-clean.tar.xz) = 00abd69dd041613e5cd3ad6c41f51013b05405b6f19e6b1acfc9709d738ac8c2adcfc67b64801f6583270a58849e2690e91b2ebcaf3b82a25b381b580426c1a4 +SHA512 (chromium-83.0.4103.106-clean.tar.xz) = e903ced22439b4fd2bfeb4457d9fed99099ea274ae376ce84a41d8f1a23f19f7be34e23f22368059f46f37ae4320b8a5020d04f91810a1c36908590ecc05a684