diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2024-03-24 14:26:51 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2024-03-24 14:37:35 -0400 |
commit | f96312e128119688fc59d2f8b34f362c4546ff3d (patch) | |
tree | 46f3e8131b84de24236f6a6cd04fdc8cfcea43db /app-emulation/wine-vanilla | |
parent | app-emulation/vkd3d-proton: remove old -fstack-protector workaround (diff) | |
download | gentoo-f96312e128119688fc59d2f8b34f362c4546ff3d.tar.gz gentoo-f96312e128119688fc59d2f8b34f362c4546ff3d.tar.bz2 gentoo-f96312e128119688fc59d2f8b34f362c4546ff3d.zip |
app-emulation/wine-vanilla: filter -Wl,-z,* ... for CFLAGS
test-flags-CC was not meant to test LDFLAGS and -Wl,* are no-ops
at compile-time and thus don't get stripped even if they don't work
(same happens when using strip-unsupported-flags) and then if a
package compiles and links anything at same time it fails.
This used not to be a big problem but now that 23.0 profiles
do -Wl,-z,pack-relative-relocs (mingw ld has no -z) this is
hitting bashrc-mv users that tend to do CFLAGS="${LDFLAGS}"
by default. Tempting to ignore it because of how wrong it is,
but well.
An alternate route could be to eventually have strip-flags
and/or strip-unsupported-flags remove -Wl,* from non-LDFLAGS
given this could affect more than mingw (e.g. switching to
bfd when there is a lld-only option).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'app-emulation/wine-vanilla')
7 files changed, 40 insertions, 0 deletions
diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild index bc8a900aa368..ed678fefaa02 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild @@ -295,6 +295,11 @@ src_configure() { filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + # -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 diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild index 6ac6557b4934..972a6b64c743 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild @@ -297,6 +297,11 @@ src_configure() { filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + # -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 diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild index f1ae8dd30d38..7326ea74dd64 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild @@ -306,6 +306,12 @@ src_configure() { CROSSCFLAGS="${CROSSCFLAGS:-$( filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} )}" diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.3.ebuild index 593d2fed1eee..162e8b9a993c 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.3.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9.3.ebuild @@ -306,6 +306,12 @@ src_configure() { CROSSCFLAGS="${CROSSCFLAGS:-$( filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} )}" diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.4.ebuild index 358e42dfad4e..559d137dd799 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.4.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9.4.ebuild @@ -307,6 +307,12 @@ src_configure() { CROSSCFLAGS="${CROSSCFLAGS:-$( filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} )}" diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild index 593d2fed1eee..162e8b9a993c 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild @@ -306,6 +306,12 @@ src_configure() { CROSSCFLAGS="${CROSSCFLAGS:-$( filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} )}" diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild index 593d2fed1eee..162e8b9a993c 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild @@ -306,6 +306,12 @@ src_configure() { CROSSCFLAGS="${CROSSCFLAGS:-$( filter-flags '-fstack-protector*' #870136 filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} )}" |