as of late when building wine-proton/wine-staging/wine-vanilla with a mingw64 build it stops at during RTL pass: final /var/tmp/portage/app-emulation/wine-proton-9.0.9999/work/wine-proton-9.0.9999/dlls/msvcrt/sincos.c: In function ‘sincos’: /var/tmp/portage/app-emulation/wine-proton-9.0.9999/work/wine-proton-9.0.9999/dlls/msvcrt/sincos.c:34:1: internal compiler error: in seh_cfa_offset, at config/i386/winnt.cc:1137 after a multitude of rebuilds removing -fno-omit-frame-pointer from cflags it compiles again. a rerun of the failing gcc command with -save-temps https://gist.github.com/gulafaran/4d323e6a613d03a29fb68583ae80fcd0 the generated sincos.i file. https://gist.github.com/gulafaran/3c154351754e725ef1345d79f708fb6f
Please attach the files rather than use external links to ensure they're never lost. That aside, tried to reproduce just now and wine, dxvk, vkd3d-proton, and mingw64-toolchain itself (during the cross build of mingw runtime) all fail for me when using using C(XX)FLAGS="-O2 -fno-omit-frame-pointer". Fastest package to reproduce with is: CXXFLAGS="-O2 -fno-omit-frame-pointer" emerge vkd3d-proton and then: ../vkd3d-proton-2.12/subprojects/dxil-spirv/opcodes/dxil/dxil_arithmetic.cpp:340:1: internal compiler error: in seh_cfa_offset, at config/i386/winnt.cc:1137 340 | } | ^ 0x7ffff7b93ea8 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 0x7ffff7b93f6e __libc_start_main_impl ../csu/libc-start.c:360 (still fails with USE=-abi_x86_32 so seems it's not 32bit-specific) Can also reproduce with crossdev (CC toolchain@) using gcc-14.1.1_p20240518, but only with x86_64, i686 seems fine -- fails during cross-mingw64-runtime): CFLAGS="-O2 -fno-omit-frame-pointer" crossdev -t x86_64-w64-mingw32 Not planning to dig into this more myself, but figure I'll force -fomit-frame-pointer in these for now similarly to how used to disable -fstack-clash-protection which used to ICE w/ mingw as well (that one been fixed). Not going to bother limiting it to gcc14 or ABI for simplicity w/ all the cross bits. Please remember to drop the upcoming workaround if anyone interested in reproducing this.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54e5dc5019e5506f386b80b35dca7ae439bed752 commit 54e5dc5019e5506f386b80b35dca7ae439bed752 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:54:16 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:16 +0000 dev-util/mingw64-runtime: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6ca4f9dc1b3e4f9e947e547f9cab2730502de52 commit b6ca4f9dc1b3e4f9e947e547f9cab2730502de52 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:24:12 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:16 +0000 dev-util/mingw64-toolchain: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild | 3 +++ 1 file changed, 3 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7d87db08fa3899fd607a2f0d8137a35241b446f commit b7d87db08fa3899fd607a2f0d8137a35241b446f Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:24:03 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:15 +0000 app-emulation/vkd3d-proton: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild | 3 +++ app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 3 +++ app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 3 +++ 3 files changed, 9 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ee751a060fc66194a019a0fdd23bde99775cb01 commit 0ee751a060fc66194a019a0fdd23bde99775cb01 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:23:55 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:15 +0000 app-emulation/dxvk: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/dxvk/dxvk-1.10.3-r1.ebuild | 3 +++ app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 3 +++ app-emulation/dxvk/dxvk-9999.ebuild | 3 +++ 3 files changed, 9 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b701bf35fd508f2bc15c42805e7ab2ad131ff5f6 commit b701bf35fd508f2bc15c42805e7ab2ad131ff5f6 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:23:48 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:15 +0000 app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 3 +++ app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 3 +++ app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 3 +++ app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 +++ 4 files changed, 12 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a908d66999ca80ddd00e5bb5f961cff5964de19 commit 5a908d66999ca80ddd00e5bb5f961cff5964de19 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:23:38 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:15 +0000 app-emulation/wine-staging: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-staging/wine-staging-9.0.ebuild | 3 +++ app-emulation/wine-staging/wine-staging-9.7.ebuild | 3 +++ app-emulation/wine-staging/wine-staging-9.8.ebuild | 3 +++ app-emulation/wine-staging/wine-staging-9.9.ebuild | 3 +++ app-emulation/wine-staging/wine-staging-9999.ebuild | 3 +++ 5 files changed, 15 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b23fe7660928f72b2146770ae145a5f57012ef7c commit b23fe7660928f72b2146770ae145a5f57012ef7c Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-21 02:23:30 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-21 02:58:14 +0000 app-emulation/wine-vanilla: add workaround for gcc14 ICE w/ mingw Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-9.9.ebuild | 3 +++ app-emulation/wine-vanilla/wine-vanilla-9999.ebuild | 3 +++ 7 files changed, 21 insertions(+)
As noted in the GCC bug, -fno-fold-mem-offsets will be a (nicer) workaround if this is long-term (it's a new pass, and hence far less of a pessimisation for 32-bit as opposed to losing a gpr). But I wouldn't rush to change it either.
(In reply to Sam James from comment #3) > As noted in the GCC bug, -fno-fold-mem-offsets will be a (nicer) workaround > if this is long-term (it's a new pass, and hence far less of a pessimisation > for 32-bit as opposed to losing a gpr). But I wouldn't rush to change it > either. Well, haven't tried it yet but think may as well just do the patch in mingw64-toolchain and drop these entirely. Thanks for finding the links. Will still be an issue with crossdev but it can wait until a keyworded snapshot fixes it and not worth making everyone rebuild gcc over (not many do -fno-omit anyway).
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48bc1099f5d9fe2b07e6fb16ff63a83f35498f2f commit 48bc1099f5d9fe2b07e6fb16ff63a83f35498f2f Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:24:44 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:59 +0000 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@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(+) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b71f0a787ca88c50bdfb85ba7ba5cc8c2de660bf commit b71f0a787ca88c50bdfb85ba7ba5cc8c2de660bf Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:33 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:58 +0000 Revert "app-emulation/wine-vanilla: add workaround for gcc14 ICE w/ mingw" This reverts commit b23fe7660928f72b2146770ae145a5f57012ef7c. Fixing in mingw64-toolchain instead, *could* keep the workaround longer for those that didn't update but likely doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-9.9.ebuild | 3 --- app-emulation/wine-vanilla/wine-vanilla-9999.ebuild | 3 --- 7 files changed, 21 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae69510e5e450350a0173c5b1a9b5586e9e90bd9 commit ae69510e5e450350a0173c5b1a9b5586e9e90bd9 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:29 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:58 +0000 Revert "app-emulation/wine-staging: add workaround for gcc14 ICE w/ mingw" This reverts commit 5a908d66999ca80ddd00e5bb5f961cff5964de19. Fixing in mingw64-toolchain instead, *could* keep the workaround longer for those that didn't update but likely doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-staging/wine-staging-9.0.ebuild | 3 --- app-emulation/wine-staging/wine-staging-9.7.ebuild | 3 --- app-emulation/wine-staging/wine-staging-9.8.ebuild | 3 --- app-emulation/wine-staging/wine-staging-9.9.ebuild | 3 --- app-emulation/wine-staging/wine-staging-9999.ebuild | 3 --- 5 files changed, 15 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f148a5bd2cbd0b8094b11865d5b0f9884f551127 commit f148a5bd2cbd0b8094b11865d5b0f9884f551127 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:24 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:58 +0000 Revert "app-emulation/wine-proton: add workaround for gcc14 ICE w/ mingw" This reverts commit b701bf35fd508f2bc15c42805e7ab2ad131ff5f6. Fixing in mingw64-toolchain instead, *could* keep the workaround longer for those that didn't update but likely doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/wine-proton/wine-proton-7.0.6.ebuild | 3 --- app-emulation/wine-proton/wine-proton-8.0.5c.ebuild | 3 --- app-emulation/wine-proton/wine-proton-9.0.1.ebuild | 3 --- app-emulation/wine-proton/wine-proton-9.0.9999.ebuild | 3 --- 4 files changed, 12 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41133645d8bd37dfb58374065b0a670e58948403 commit 41133645d8bd37dfb58374065b0a670e58948403 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:18 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:58 +0000 Revert "app-emulation/dxvk: add workaround for gcc14 ICE w/ mingw" This reverts commit 0ee751a060fc66194a019a0fdd23bde99775cb01. Fixing in mingw64-toolchain instead, *could* keep the workaround longer for those that didn't update but likely doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/dxvk/dxvk-1.10.3-r1.ebuild | 3 --- app-emulation/dxvk/dxvk-2.3.1-r1.ebuild | 3 --- app-emulation/dxvk/dxvk-9999.ebuild | 3 --- 3 files changed, 9 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f554c759cafd698a570f271c9bc036fcec483e9f commit f554c759cafd698a570f271c9bc036fcec483e9f Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:13 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:58 +0000 Revert "app-emulation/vkd3d-proton: add workaround for gcc14 ICE w/ mingw" This reverts commit b7d87db08fa3899fd607a2f0d8137a35241b446f. Fixing in mingw64-toolchain instead, *could* keep the workaround longer for those that didn't update but likely doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild | 3 --- app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild | 3 --- app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild | 3 --- 3 files changed, 9 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cd1ffe8b0e1fd84a98501ccca0a8ccefd40c307 commit 3cd1ffe8b0e1fd84a98501ccca0a8ccefd40c307 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:11:07 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:57 +0000 Revert "dev-util/mingw64-toolchain: add workaround for gcc14 ICE w/ mingw" This reverts commit b6ca4f9dc1b3e4f9e947e547f9cab2730502de52. A fix was found, so will patch gcc instead. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-util/mingw64-toolchain/mingw64-toolchain-11.0.1.ebuild | 3 --- 1 file changed, 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87a0599ce499cc694c54ffdb3ce0c39e342230e6 commit 87a0599ce499cc694c54ffdb3ce0c39e342230e6 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-22 02:10:53 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-22 03:30:57 +0000 Revert "dev-util/mingw64-runtime: add workaround for gcc14 ICE w/ mingw" This reverts commit 54e5dc5019e5506f386b80b35dca7ae439bed752. Will wait for a fixed gcc version instead, this doesn't affect many. Bug: https://bugs.gentoo.org/932319 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-util/mingw64-runtime/mingw64-runtime-11.0.1.ebuild | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)