commit:     48bc1099f5d9fe2b07e6fb16ff63a83f35498f2f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 02:24:44 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed May 22 03:30:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48bc1099

dev-util/mingw64-toolchain: fix ICE with -fno-omit-frame-pointer

If there's a known fix, better to do it here than have
every revdeps do workarounds.

Closes: https://bugs.gentoo.org/932319
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/gcc-14.1.0-no-omit-fp-ice.patch               | 17 +++++++++++++++++
 ...11.0.1.ebuild => mingw64-toolchain-11.0.1-r1.ebuild} |  1 +
 2 files changed, 18 insertions(+)

diff --git a/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch 
b/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch
new file mode 100644
index 000000000000..a8e4c798ef17
--- /dev/null
+++ b/dev-util/mingw64-toolchain/files/gcc-14.1.0-no-omit-fp-ice.patch
@@ -0,0 +1,17 @@
+Fix ICE w/ mingw[1][2][3] when using -fno-omit-frame-pointer.
+
+Patch is from the proposed fix in [4].
+
+[1] https://bugs.gentoo.org/932319
+[2] https://github.com/msys2/MINGW-packages/issues/20861
+[3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038
+[4] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038#c4
+--- a/gcc/gcc/fold-mem-offsets.cc
++++ b/gcc/gcc/fold-mem-offsets.cc
+@@ -492,5 +492,5 @@
+   rtx_insn *def = get_single_def_in_bb (insn, reg);
+ 
+-  if (!def || GET_CODE (PATTERN (def)) != SET)
++  if (!def || RTX_FRAME_RELATED_P (def) || GET_CODE (PATTERN (def)) != SET)
+     return 0;
+ 

diff --git a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild 
b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild
similarity index 99%
rename from dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild
rename to dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild
index 8f3671e17f67..547dc68de3e9 100644
--- a/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild
+++ b/dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1-r1.ebuild
@@ -68,6 +68,7 @@ QA_CONFIG_IMPL_DECL_SKIP=(
 
 PATCHES=(
        "${FILESDIR}"/gcc-12.2.0-drop-cflags-sed.patch
+       "${FILESDIR}"/gcc-14.1.0-no-omit-fp-ice.patch
 )
 
 pkg_pretend() {

Reply via email to