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