commit:     327a53f1e9de14fe01ebc94b96f5fa6178dc3fbd
Author:     Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
AuthorDate: Sun Jun 23 16:07:39 2019 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Jun 25 14:57:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=327a53f1

www-client/chromium: fix build with -O3

In third_party/angle/src/libANGLE/validationES.cpp three specializations
are declared for ValidateSamplerParameterBase(). Two implicit
specializations are created in ValidateSamplerParameterfvRobustANGLE()
and ValidateSamplerParameterIivRobustANGLE(). However, with
-finline-functions (default enabled with -O3) those two implicit
symbols are optimized out. In the end linking fails with
unresolved references, because functions in
third_party/angle/src/libANGLE/validationES3.cpp use both
specializations.

Closes: https://bugs.gentoo.org/681870
Closes: https://github.com/gentoo/gentoo/pull/12312
Package-Manager: Portage-2.3.66, Repoman-2.3.11
Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 www-client/chromium/chromium-75.0.3770.100.ebuild  |  1 +
 www-client/chromium/chromium-76.0.3809.36.ebuild   |  1 +
 .../chromium/files/chromium-angle-inline.patch     | 26 ++++++++++++++++++++++
 3 files changed, 28 insertions(+)

diff --git a/www-client/chromium/chromium-75.0.3770.100.ebuild 
b/www-client/chromium/chromium-75.0.3770.100.ebuild
index 0dde4528fb7..5d8ef6d0268 100644
--- a/www-client/chromium/chromium-75.0.3770.100.ebuild
+++ b/www-client/chromium/chromium-75.0.3770.100.ebuild
@@ -144,6 +144,7 @@ PATCHES=(
        "${FILESDIR}/chromium-compiler-r9.patch"
        "${FILESDIR}/chromium-widevine-r4.patch"
        "${FILESDIR}/chromium-fix-char_traits.patch"
+       "${FILESDIR}/chromium-angle-inline.patch"
        "${FILESDIR}/chromium-75-fix-gn-gen.patch"
        "${FILESDIR}/chromium-75-gcc-angle-fix.patch"
        "${FILESDIR}/chromium-75-unique_ptr.patch"

diff --git a/www-client/chromium/chromium-76.0.3809.36.ebuild 
b/www-client/chromium/chromium-76.0.3809.36.ebuild
index 5873a5a0710..2327e60f3ce 100644
--- a/www-client/chromium/chromium-76.0.3809.36.ebuild
+++ b/www-client/chromium/chromium-76.0.3809.36.ebuild
@@ -144,6 +144,7 @@ PATCHES=(
        "${FILESDIR}/chromium-compiler-r10.patch"
        "${FILESDIR}/chromium-widevine-r4.patch"
        "${FILESDIR}/chromium-fix-char_traits.patch"
+       "${FILESDIR}/chromium-angle-inline.patch"
        "${FILESDIR}/chromium-76-quiche.patch"
        "${FILESDIR}/chromium-76-lss.patch"
        "${FILESDIR}/chromium-76-gcc-vulkan.patch"

diff --git a/www-client/chromium/files/chromium-angle-inline.patch 
b/www-client/chromium/files/chromium-angle-inline.patch
new file mode 100644
index 00000000000..8ece410f104
--- /dev/null
+++ b/www-client/chromium/files/chromium-angle-inline.patch
@@ -0,0 +1,26 @@
+From 2ee4e7f857514f4c0cbff135a1c5f968d8814d31 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <sth...@googlemail.com>
+Date: Sun, 23 Jun 2019 12:14:57 +0000
+Subject: [PATCH] explicit declaration of const GLfloat/const GLint for 
ValidateSamplerParameterBase
+
+---
+ third_party/angle/src/libANGLE/validationES.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/third_party/angle/src/libANGLE/validationES.cpp 
b/third_party/angle/src/libANGLE/validationES.cpp
+index ae353f7..fdc7ac2 100644
+--- a/third_party/angle/src/libANGLE/validationES.cpp
++++ b/third_party/angle/src/libANGLE/validationES.cpp
+@@ -6089,7 +6089,9 @@ bool ValidateSamplerParameterBase(Context *context,
+ }
+ 
+ template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, 
GLsizei, bool, GLfloat *);
++template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, 
GLsizei, bool, const GLfloat *);
+ template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, 
GLsizei, bool, GLint *);
++template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, 
GLsizei, bool, const GLint *);
+ template bool ValidateSamplerParameterBase(Context *,
+                                            GLuint,
+                                            GLenum,
+-- 
+2.21.0
+

Reply via email to