commit 5cbc3dd135bf2caa310a6cfafd85a72f5b89f959
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Wed Oct 16 11:03:38 2019 -0400
upstream fix for zlib symbol exports with gcc
...0.3865.120-gcc-fix-zlib-symbol-visibility.patch | 36 ++++++++++++++++++++++
chromium.spec | 9 +++++-
2 files changed, 44 insertions(+), 1 deletion(-)
---
diff --git a/chromium-77.0.3865.120-gcc-fix-zlib-symbol-visibility.patch
b/chromium-77.0.3865.120-gcc-fix-zlib-symbol-visibility.patch
new file mode 100644
index 0000000..47fd97d
--- /dev/null
+++ b/chromium-77.0.3865.120-gcc-fix-zlib-symbol-visibility.patch
@@ -0,0 +1,36 @@
+From 9c3aed099b010a75594a0efd523774c4c9a5e3d2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=BCri=20Valdmann?= <juri.valdmann(a)qt.io>
+Date: Tue, 15 Oct 2019 12:10:55 +0000
+Subject: [PATCH] GCC: Fix zlib symbol visibility macro
+
+GCC parses the function __attribute__ syntax a bit differently from Clang,
+associating the attribute with the return type instead of the function if the
+return type is a pointer. This leads to certain zlib symbols, such as
+Cr_z_zError, to fail to be properly exported from the shared library. Fix by
+using ZEXTERN instead of ZEXPORT for the attribute which works the same for both
+GCC and Clang.
+
+Bug: 819294
+Change-Id: I5707d1b0627a503df08df9ac0bb65fda69453989
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1859788
+Reviewed-by: Thomas Anderson <thomasanderson(a)chromium.org>
+Reviewed-by: Nico Weber <thakis(a)chromium.org>
+Commit-Queue: Nico Weber <thakis(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#705917}
+---
+ third_party/zlib/chromeconf.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/zlib/chromeconf.h b/third_party/zlib/chromeconf.h
+index e9aa3867d8512..666093d696a58 100644
+--- a/third_party/zlib/chromeconf.h
++++ b/third_party/zlib/chromeconf.h
+@@ -13,7 +13,7 @@
+ #define ZEXTERN __declspec(dllimport)
+ #endif
+ #elif defined(ZLIB_IMPLEMENTATION)
+-#define ZEXPORT __attribute__((visibility("default")))
++#define ZEXTERN __attribute__((visibility("default")))
+ #endif
+ #endif
+
diff --git a/chromium.spec b/chromium.spec
index f6a5873..8994527 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -162,7 +162,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld}
Name: chromium%{chromium_channel}
%endif
Version: %{majorversion}.0.3865.120
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: A WebKit (Blink) powered web browser
Url:
http://www.chromium.org/Home
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and
(MPLv1.1 or GPLv2 or LGPLv2)
@@ -225,6 +225,9 @@ Patch60: chromium-77.0.3865.75-missing-limits.patch
Patch61: chromium-77.0.3865.90-linked-hash-set.patch
#
https://chromium.googlesource.com/chromium/src/+/e79d9d0e06b825d2e62b38db...
Patch62: chromium-77.0.3865.120-silence-outdated-build-noise.patch
+#
https://chromium.googlesource.com/chromium/src/+/9c3aed099b010a75594a0efd...
+Patch63: chromium-77.0.3865.120-gcc-fix-zlib-symbol-visibility.patch
+
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -751,6 +754,7 @@ udev.
%patch60 -p1 -b .missing-limits
%patch61 -p1 -b .linked-hash-set
%patch62 -p1 -b .silence-outdated-build-noise
+%patch63 -p1 -b .gcc-fix-zlib-symbol-visibility
# Fedora branded user agent
%if 0%{?fedora}
@@ -1665,6 +1669,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Wed Oct 16 2019 Tom Callaway <spot(a)fedoraproject.org> - 77.0.3865.120-4
+- upstream fix for zlib symbol exports with gcc
+
* Wed Oct 16 2019 Tom Callaway <spot(a)fedoraproject.org> - 77.0.3865.120-3
- silence outdated build noise (bz1745745)