Am 01.12.20 um 21:00 schrieb Stephen Kitt:

Hi Stefan,

Thanks for the feedback, one of the reasons I made the change was to see if
it would cause problems for anyone, before the Debian 11 freeze...

The dilemma I’m faced with now is that MSYS2 and Fedora and others have
switched to Dwarf2 for 32-bit Windows targets, and the Rust ecosystem only
supports that. I toyed with the idea of providing both Dwarf2 and SJLJ
toolchains, but the problem there is that I’d really need to use two
different triplets to avoid mix-ups!

Which packages do you use exactly, and where do you get them from?


Hi Stephen,

for the QEMU build I installed these packages:

mingw64-i686-adwaita-icon-theme mingw64-i686-atk1.0 mingw64-i686-bzip2 mingw64-i686-cairo mingw64-i686-cogl mingw64-i686-curl mingw64-i686-expat mingw64-i686-fontconfig mingw64-i686-freetype2 mingw64-i686-gdk-pixbuf2.0 mingw64-i686-gettext mingw64-i686-glib2.0 mingw64-i686-gmp mingw64-i686-gnutls mingw64-i686-gtk3 mingw64-i686-harfbuzz mingw64-i686-hicolor-icon-theme mingw64-i686-icu mingw64-i686-jasper mingw64-i686-jbigkit mingw64-i686-libepoxy mingw64-i686-libffi mingw64-i686-libgcrypt mingw64-i686-libgnurx mingw64-i686-libgpg-error mingw64-i686-libidn2 mingw64-i686-libjpeg-turbo mingw64-i686-libpng mingw64-i686-libssh2 mingw64-i686-libtasn1 mingw64-i686-libunistring mingw64-i686-libusb1.0 mingw64-i686-libxml2 mingw64-i686-lzo2 mingw64-i686-ncurses mingw64-i686-nettle mingw64-i686-nghttp2 mingw64-i686-openssl mingw64-i686-p11-kit mingw64-i686-pango1.0 mingw64-i686-pcre mingw64-i686-pixman mingw64-i686-sdl2 mingw64-i686-tiff mingw64-i686-usbredir mingw64-i686-win-iconv mingw64-i686-xz mingw64-i686-zlib

Tesseract builds have a slightly different list of packages:

mingw64-i686-atk1.0 mingw64-i686-bzip2 mingw64-i686-cairo mingw64-i686-curl mingw64-i686-expat mingw64-i686-fontconfig mingw64-i686-freetype2 mingw64-i686-gdk-pixbuf2.0 mingw64-i686-gettext mingw64-i686-giflib mingw64-i686-glib2.0 mingw64-i686-gmp mingw64-i686-gtk3 mingw64-i686-harfbuzz mingw64-i686-icu mingw64-i686-jasper mingw64-i686-jbigkit mingw64-i686-libarchive mingw64-i686-libepoxy mingw64-i686-libffi mingw64-i686-libjpeg-turbo mingw64-i686-liblept5 mingw64-i686-libpng mingw64-i686-libssh2 mingw64-i686-libwebp mingw64-i686-libxml2 mingw64-i686-lz4 mingw64-i686-lzo2 mingw64-i686-nettle mingw64-i686-nghttp2 mingw64-i686-openjpeg2 mingw64-i686-openssl mingw64-i686-pango1.0 mingw64-i686-pcre mingw64-i686-pixman mingw64-i686-tiff mingw64-i686-win-iconv mingw64-i686-xz mingw64-i686-zlib

All those packages are available from https://qemu.weilnetz.de/debian/ (which also describes how those packages were converted from Cygwin to Debian packages).

I see the dilemma, but don't have a good solution up to now.

QEMU mainly uses C code without exceptions, so it might be possible to build it with all exceptions disabled which could avoid the dilemma unless one of the libraries uses exception handling (I am afraid some do).

Would it be possible to build the toolchain with support for two different exception handlers with Dwarf2 by default, but SJLJ as a compiler and linker option?

Kind regards,

Stefan

Reply via email to