commit: f4f5384a31752bfbaf021725ac539d1522656423
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 17:13:04 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 18:37:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4f5384a
dev-util/mingw64-toolchain: filter -Wl,-z,* ... for CFLAGS
strip-unsupported-flags handles this fine in LDFLAGS, but -Wl,*
are no-ops during compile-only tests (thus not stripped) 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 <AT> gentoo.org>
dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
index 9aab786878f3..910dddbdfbb5 100644
--- a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
+++ b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.0_p2.ebuild
@@ -211,6 +211,11 @@ src_compile() {
filter-flags '-fuse-ld=*'
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