summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-03-24 14:26:51 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-03-24 14:37:35 -0400
commitf96312e128119688fc59d2f8b34f362c4546ff3d (patch)
tree46f3e8131b84de24236f6a6cd04fdc8cfcea43db
parentapp-emulation/vkd3d-proton: remove old -fstack-protector workaround (diff)
downloadgentoo-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>
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild5
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild5
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild6
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.3.ebuild6
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.4.ebuild6
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild6
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9999.ebuild6
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}
)}"