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 +