[Bug 1092541] New: GCC 8: xf86-video-intel build fails on i586
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541 Bug ID: 1092541 Summary: GCC 8: xf86-video-intel build fails on i586 Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: X.Org Assignee: xorg-maintainer-bugs@forge.provo.novell.com Reporter: martin.liska@suse.com QA Contact: xorg-maintainer-bugs@forge.provo.novell.com Found By: --- Blocker: --- https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:C... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
Martin Liška
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c1
Michal Srb
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c2
Max Staudt
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c6
Michal Srb
The bug here appears to be that emit_vertex() is declared 'sse2' but vertex_emit_2s is merely always_inline. gcc8 decides that since you said always_inline you need to have explicitly cloned it for every permutation of targets. Merely saying inline seems to do the job of cloning vertex_emit_2s as much as necessary.
So to reiterate: if you say always-inline, it won't, but if you just say maybe inline, it will. Thanks gcc, that's helpful.
- ajax
I will submit it to our xf86-video-intel, to fix the problem for now. But it still looks to me like something is not working properly in GCC. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c7
--- Comment #7 from Petr Tesařík
[...]
So to reiterate: if you say always-inline, it won't, but if you just say maybe inline, it will. Thanks gcc, that's helpful.
Has anyone verified that the functions are indeed inlined in this case? I mean, if they are converted to regular functions (which gcc is definitely allowed to do, because "inline" is merely a hint), then we should also verify the effects on performance... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c9
--- Comment #9 from Michal Srb
Has anyone verified that the functions are indeed inlined in this case?
I checked it now and not all of the functions are inlined. For example the vertex_emit_2s is not inlined into emit_vertex. But the emit_vertex itself is inlined into all its call sites. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c10
--- Comment #10 from Egbert Eich
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c17
Martin Liška
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c18
--- Comment #18 from Michal Srb
Any update about this? Is there a SR to Factory?
It seems that we won't find any better solution, so lets go with the Ajax's workaround and remove the always_inline. I have submitted it now to X11:XOrg devel project, it will go to Factory if accepted: https://build.opensuse.org/request/show/611553 I have limited the patch only to x86, as that is the only architecture that needs it. So there should be no negative effect on x86_64. This way majority (if not all) users won't be affected and we get the package building again. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c19
--- Comment #19 from Martin Liška
(In reply to Martin Liška from comment #17)
Any update about this? Is there a SR to Factory?
It seems that we won't find any better solution, so lets go with the Ajax's workaround and remove the always_inline.
I have submitted it now to X11:XOrg devel project, it will go to Factory if accepted: https://build.opensuse.org/request/show/611553
I have limited the patch only to x86, as that is the only architecture that needs it. So there should be no negative effect on x86_64. This way majority (if not all) users won't be affected and we get the package building again.
Thanks for that! -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541
http://bugzilla.opensuse.org/show_bug.cgi?id=1092541#c20
Michal Srb
participants (1)
-
bugzilla_noreply@novell.com