commit:     1fb8f41fe39a23062c88ccdb04b2552b76ee3242
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 09:41:54 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 10:10:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fb8f41f

app-emulation/wine-proton: pass -mno-avx for mingw cross

AVX issues with mingw-gcc aren't exactly new, e.g.
https://bugs.winehq.org/show_bug.cgi?id=45289
Been known to cause issues with dxvk too, albeit unsure
if that's still relevant as issues are scattered/lost.

Newly, >=wine-8.10 is likely to crash doing anything
at all 32bit if used -march=native (w/ avx) and 32bit
(e.g. `WINEARCH=win32 winecfg`).

Adding this to every packages using mingw as a precaution,
not believed there is much to gain from keeping AVX given
the fragility here. May revisit eventually with a newer GCC.

wine-proton is based on older wine and is not affected by
the obvious crash, this is a precaution for potential other
issues (so not revbumping over this, can wait till normal bump).

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-7.0.6.ebuild    | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.1d.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.2c.ebuild   | 5 +++++
 app-emulation/wine-proton/wine-proton-8.0.9999.ebuild | 5 +++++
 4 files changed, 20 insertions(+)

diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild 
b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 96f444e33758..086837096042 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -259,6 +259,11 @@ src_configure() {
                : "${CROSSCFLAGS:=$(
                        filter-flags '-fstack-protector*' #870136
                        filter-flags '-mfunction-return=thunk*' #878849
+                       # -mavx with mingw-gcc has a history of obscure issues 
and
+                       # disabling is seen as safer, e.g. `WINEARCH=win32 
winecfg`
+                       # crashes with -march=skylake >=wine-8.10, similar 
issues with
+                       # znver4: 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+                       append-cflags -mno-avx
                        CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
                : "${CROSSLDFLAGS:=$(
                        filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild 
b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.1d.ebuild
@@ -260,6 +260,11 @@ src_configure() {
                        append-cflags '-fno-strict-aliasing'
                        filter-flags '-fstack-protector*' #870136
                        filter-flags '-mfunction-return=thunk*' #878849
+                       # -mavx with mingw-gcc has a history of obscure issues 
and
+                       # disabling is seen as safer, e.g. `WINEARCH=win32 
winecfg`
+                       # crashes with -march=skylake >=wine-8.10, similar 
issues with
+                       # znver4: 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+                       append-cflags -mno-avx
                        CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
                : "${CROSSLDFLAGS:=$(
                        filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild 
b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
index b2b9a61de3ff..1080ea80dd3f 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.2c.ebuild
@@ -260,6 +260,11 @@ src_configure() {
                        append-cflags '-fno-strict-aliasing'
                        filter-flags '-fstack-protector*' #870136
                        filter-flags '-mfunction-return=thunk*' #878849
+                       # -mavx with mingw-gcc has a history of obscure issues 
and
+                       # disabling is seen as safer, e.g. `WINEARCH=win32 
winecfg`
+                       # crashes with -march=skylake >=wine-8.10, similar 
issues with
+                       # znver4: 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+                       append-cflags -mno-avx
                        CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
                : "${CROSSLDFLAGS:=$(
                        filter-flags '-fuse-ld=*'

diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild 
b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index b294ba4b95e7..e5ff1bbe7cce 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -261,6 +261,11 @@ src_configure() {
                        append-cflags '-fno-strict-aliasing'
                        filter-flags '-fstack-protector*' #870136
                        filter-flags '-mfunction-return=thunk*' #878849
+                       # -mavx with mingw-gcc has a history of obscure issues 
and
+                       # disabling is seen as safer, e.g. `WINEARCH=win32 
winecfg`
+                       # crashes with -march=skylake >=wine-8.10, similar 
issues with
+                       # znver4: 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+                       append-cflags -mno-avx
                        CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
                : "${CROSSLDFLAGS:=$(
                        filter-flags '-fuse-ld=*'

Reply via email to