In 2019, is there any reason to just not ship a 32-bit Windows binary? Does anyone still use non-64-bit Windows?
--Greg On Mon, Aug 12, 2019 at 9:07 AM Sandro Mani <manisan...@gmail.com> wrote: > Hi > > I've got a working build of mingw64-rust [1] with which I'm able to > successfully build a current version of mingw64-librsvg2. But here comes > the problem: As explained here [2], rust cannot be cross-compiled to a > mingw32 target using SJLJ exceptions. To be able to offer mingw-rust in > the main repos, I don't see many other options than switching the > mingw32 toolchain to dwarf2 exceptions if we want to keep the same > package set for both mingw32 and mingw64. > > As far as I can see, there are some (rather old) discussions here and > there concerning which model to use, i.e. this one for debian [3] and > this one for mingw-w64 [4]. All in all, the summary appears to be > > SJLJ (setjmp/longjmp): > - not "zero-cost": even if an exception isn't thrown, it incurs a minor > performance penalty (~15% in exception heavy code) > - allows exceptions to traverse through e.g. windows callbacks > > DWARF (DW2, dwarf-2) > - no permanent runtime overhead > - needs whole call stack to be dwarf-enabled, which means exceptions > cannot be thrown over e.g. Windows system DLLs (i.e. throwing an > exception in a system DLL callback and attempting to catch it won't work) > - DW2 potentially generates bigger libraries. The overhead however is > not big (< 10%) for typical applications. > > MSYS2 for one appears to have switched to DW2 [5]. > > Any opinions whether we should also switch to dwarf2? Or how to handle > the mingw-rust situation in general? > > Thanks > Sandro > > > [1] https://copr.fedorainfracloud.org/coprs/smani/mingw64-rust/builds/ > [2] https://github.com/rust-lang/rust/issues/12859 > [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540782 > [4] https://sourceforge.net/p/mingw-w64/mailman/message/30532139/ > [5] > > https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-gcc/PKGBUILD#L154 > _______________________________________________ > mingw mailing list -- mingw@lists.fedoraproject.org > To unsubscribe send an email to mingw-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/mingw@lists.fedoraproject.org >
_______________________________________________ mingw mailing list -- mingw@lists.fedoraproject.org To unsubscribe send an email to mingw-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/mingw@lists.fedoraproject.org