1 |
commit: 327a53f1e9de14fe01ebc94b96f5fa6178dc3fbd |
2 |
Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com> |
3 |
AuthorDate: Sun Jun 23 16:07:39 2019 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jun 25 14:57:18 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=327a53f1 |
7 |
|
8 |
www-client/chromium: fix build with -O3 |
9 |
|
10 |
In third_party/angle/src/libANGLE/validationES.cpp three specializations |
11 |
are declared for ValidateSamplerParameterBase(). Two implicit |
12 |
specializations are created in ValidateSamplerParameterfvRobustANGLE() |
13 |
and ValidateSamplerParameterIivRobustANGLE(). However, with |
14 |
-finline-functions (default enabled with -O3) those two implicit |
15 |
symbols are optimized out. In the end linking fails with |
16 |
unresolved references, because functions in |
17 |
third_party/angle/src/libANGLE/validationES3.cpp use both |
18 |
specializations. |
19 |
|
20 |
Closes: https://bugs.gentoo.org/681870 |
21 |
Closes: https://github.com/gentoo/gentoo/pull/12312 |
22 |
Package-Manager: Portage-2.3.66, Repoman-2.3.11 |
23 |
Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com> |
24 |
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> |
25 |
|
26 |
www-client/chromium/chromium-75.0.3770.100.ebuild | 1 + |
27 |
www-client/chromium/chromium-76.0.3809.36.ebuild | 1 + |
28 |
.../chromium/files/chromium-angle-inline.patch | 26 ++++++++++++++++++++++ |
29 |
3 files changed, 28 insertions(+) |
30 |
|
31 |
diff --git a/www-client/chromium/chromium-75.0.3770.100.ebuild b/www-client/chromium/chromium-75.0.3770.100.ebuild |
32 |
index 0dde4528fb7..5d8ef6d0268 100644 |
33 |
--- a/www-client/chromium/chromium-75.0.3770.100.ebuild |
34 |
+++ b/www-client/chromium/chromium-75.0.3770.100.ebuild |
35 |
@@ -144,6 +144,7 @@ PATCHES=( |
36 |
"${FILESDIR}/chromium-compiler-r9.patch" |
37 |
"${FILESDIR}/chromium-widevine-r4.patch" |
38 |
"${FILESDIR}/chromium-fix-char_traits.patch" |
39 |
+ "${FILESDIR}/chromium-angle-inline.patch" |
40 |
"${FILESDIR}/chromium-75-fix-gn-gen.patch" |
41 |
"${FILESDIR}/chromium-75-gcc-angle-fix.patch" |
42 |
"${FILESDIR}/chromium-75-unique_ptr.patch" |
43 |
|
44 |
diff --git a/www-client/chromium/chromium-76.0.3809.36.ebuild b/www-client/chromium/chromium-76.0.3809.36.ebuild |
45 |
index 5873a5a0710..2327e60f3ce 100644 |
46 |
--- a/www-client/chromium/chromium-76.0.3809.36.ebuild |
47 |
+++ b/www-client/chromium/chromium-76.0.3809.36.ebuild |
48 |
@@ -144,6 +144,7 @@ PATCHES=( |
49 |
"${FILESDIR}/chromium-compiler-r10.patch" |
50 |
"${FILESDIR}/chromium-widevine-r4.patch" |
51 |
"${FILESDIR}/chromium-fix-char_traits.patch" |
52 |
+ "${FILESDIR}/chromium-angle-inline.patch" |
53 |
"${FILESDIR}/chromium-76-quiche.patch" |
54 |
"${FILESDIR}/chromium-76-lss.patch" |
55 |
"${FILESDIR}/chromium-76-gcc-vulkan.patch" |
56 |
|
57 |
diff --git a/www-client/chromium/files/chromium-angle-inline.patch b/www-client/chromium/files/chromium-angle-inline.patch |
58 |
new file mode 100644 |
59 |
index 00000000000..8ece410f104 |
60 |
--- /dev/null |
61 |
+++ b/www-client/chromium/files/chromium-angle-inline.patch |
62 |
@@ -0,0 +1,26 @@ |
63 |
+From 2ee4e7f857514f4c0cbff135a1c5f968d8814d31 Mon Sep 17 00:00:00 2001 |
64 |
+From: Stephan Hartmann <stha09@××××××××××.com> |
65 |
+Date: Sun, 23 Jun 2019 12:14:57 +0000 |
66 |
+Subject: [PATCH] explicit declaration of const GLfloat/const GLint for ValidateSamplerParameterBase |
67 |
+ |
68 |
+--- |
69 |
+ third_party/angle/src/libANGLE/validationES.cpp | 2 ++ |
70 |
+ 1 file changed, 2 insertions(+) |
71 |
+ |
72 |
+diff --git a/third_party/angle/src/libANGLE/validationES.cpp b/third_party/angle/src/libANGLE/validationES.cpp |
73 |
+index ae353f7..fdc7ac2 100644 |
74 |
+--- a/third_party/angle/src/libANGLE/validationES.cpp |
75 |
++++ b/third_party/angle/src/libANGLE/validationES.cpp |
76 |
+@@ -6089,7 +6089,9 @@ bool ValidateSamplerParameterBase(Context *context, |
77 |
+ } |
78 |
+ |
79 |
+ template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLfloat *); |
80 |
++template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, const GLfloat *); |
81 |
+ template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLint *); |
82 |
++template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, const GLint *); |
83 |
+ template bool ValidateSamplerParameterBase(Context *, |
84 |
+ GLuint, |
85 |
+ GLenum, |
86 |
+-- |
87 |
+2.21.0 |
88 |
+ |