Summary: | www-client/chromium - ld: obj/third_party/angle/libANGLE/validationES3.o: in function `gl::ValidateSamplerParameterfv(gl::Context*, unsigned int, unsigned int, float const*)': validationES3.cpp:(.text+0x878f): undefined reference to `bool gl: | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Aliaksei Urbanski <aliaksei.urbanski> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mike |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/12312 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Build log [73.0.3683.86]
Build log [74.0.3729.169] Build log [75.0.3770.80] Build log [76.0.3809.36] |
Description
Aliaksei Urbanski
2019-03-27 17:40:55 UTC
The issue is still there with www-client/chromium-74.0.3729.169 Created attachment 579338 [details]
Build log [74.0.3729.169]
www-client/chromium-75.0.3770.80 fails as well. Created attachment 579884 [details]
Build log [75.0.3770.80]
I'm not able to reproduce this. There is likely something unique about your system or config that is causing it. Created attachment 580278 [details]
Build log [76.0.3809.36]
(In reply to Aliaksei Urbanski from comment #6) > Created attachment 580278 [details] > Build log [76.0.3809.36] I can reproduce this with USE=custom-cflags and -O3 in C{XX}FLAGS, however for me it fails at a different location (final link of mksnapshot). Can you try adding -fno-ipa-cp-clone to your CFLAGS/CXXFLAGS after -O3 and see if it fixes the build? Hello Stephan, I've tried to add -fno-ipa-cp-clone to my CFLAGS/CXXFLAGS. Unfortunately, it wasn't enough to avoid the issue. The good new is, I've compiled Chromium with -O2 successfully. Thank you! (In reply to Aliaksei Urbanski from comment #8) > Hello Stephan, > > I've tried to add -fno-ipa-cp-clone to my CFLAGS/CXXFLAGS. > Unfortunately, it wasn't enough to avoid the issue. > The good new is, I've compiled Chromium with -O2 successfully. > > Thank you! Thank you for testing, I was able to reproduce this now. I try to come up with a solution within next days. (In reply to Stephan Hartmann from comment #9) > (In reply to Aliaksei Urbanski from comment #8) > > Hello Stephan, > > > > I've tried to add -fno-ipa-cp-clone to my CFLAGS/CXXFLAGS. > > Unfortunately, it wasn't enough to avoid the issue. > > The good new is, I've compiled Chromium with -O2 successfully. > > > > Thank you! > > Thank you for testing, I was able to reproduce this now. I try to come up > with a solution within next days. So ipa-cp-clone problem got fixed in gcc-9. The issue in this bug is caused by inlining functions. Adding -fno-inline-functions makes the problem go away for me. We could patch this by marking the functions noinline for gcc builds. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=327a53f1e9de14fe01ebc94b96f5fa6178dc3fbd commit 327a53f1e9de14fe01ebc94b96f5fa6178dc3fbd Author: Stephan Hartmann <stha09@googlemail.com> AuthorDate: 2019-06-23 16:07:39 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2019-06-25 14:57:18 +0000 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@googlemail.com> Signed-off-by: Mike Gilbert <floppym@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(+) |