On Fri, 12 Jun 2026, LIU Hao wrote:
在 2026-6-12 01:57, Evgeny Karpov 写道:
On 11 Jun 2026, Pali R. wrote:
Could you enable the ifdef branch which calls __mingw_init_ehandler?
It would be needed to enable it also in crt_handler.c file.
It should be possible, however it should be sufficient to add this change
as a temporary workaround.
+ #elif defined(__aarch64__) && !defined(__clang__)
+ /* __SEH__ is not implemented yet for aarch64-w64-mingw32 GCC target.
*/
I understand that SEH is not currently implemented in GNU toolchains for
aarch64-w64-mingw32.
Since the proposed change is only 'a temporary workaround', I suggest you put
it in your workflows. If this change was committed to mingw-w64, then once
you have a fully operational toolchain in the future, it would be mingw-w64
that would seem broken.
FWIW, I think it could be entirely reasonable to have cases with "#if
defined(__SEH__)" around such cases, where applicable, to allow building
without SEH on such architectures.
Even with llvm-mingw, the aarch64 target didn't use SEH, but DWARF unwind
info, for the first couple years, until LLVM (and libunwind) supported SEH
on aarch64. And for 32 bit ARM, it took yet another couple years before
that could be switched to SEH (as late as in 2022).
It's easy to tweak a from-scratch build of llvm-mingw to use these
different unwind info formats, by adding e.g. a "-fdwarf-exceptions" in
"wrappers/aarch64-w64-windows-gnu.cfg" - just like you can configure a
build of GCC to use either SJLJ, DWARF or SEH. (SEH is obviously the
default on x86_64 these days, but I do remember seeing e.g. Qt being built
with a SJLJ x86_64 toolchain for quite long after SEH being generally
usable - same with e.g. distro shipped compilers.)
For upstream mingw-w64, we probably can't commit to continuously testing
and maintaining that all these build configurations work (that'd be a
pretty bad extra combinatorial explosion), but I think it'd be fair to
accept patches to fix it, if someone wants to contribute it.
One probably can't expect all the corner cases around unwind etc to work
with the same quality of implementation as with SEH now, but I would want
such a toolchain to "generally work" at least.
// Martin
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public