[Development] Switch of MinGW toolchain for Qt 5.1

Koehne Kai Kai.Koehne at digia.com
Thu Apr 4 11:38:36 CEST 2013

Hi there,

I'd like to update the recommended 32 bit MinGW toolchain (that we also ship in binary installers) for 5.1 from


The recommended 64 bit toolchain would change accordingly from

Download links:


Since this is a major upgrade, I'd like to invite anyone interested to give the combination a try early on, preferably before we release 5.1.0 :) The upgrade would however mean that all users would have to re-compile their apps (mixing the old and new toolchain is not supported).


It turned out that the SJLJ exception model of the existing toolchain has a severe performance penalty for any Qt app, see e.g.

and https://bugreports.qt-project.org/browse/QTBUG-29653

With gcc 4.8.0 64 bit there's now SEH, which I understood is superior to SJLJ in any way. For 32 bit there's dwarf, which has problems when it comes to throwing exceptions to 'alien' stack frames (think of windows callbacks). There are also issues when using LoadLibrary without FreeLibrary, or mixing static and dynamic libgcc_s_dw2 linkage. Anyhow, I think these issues do not outweigh the heavy performance penalty for SJLJ.

Apart from SEH exception handling this gcc 4.8 brings lots of general improvements. If we still however find blockers with gcc 4.8.0 an alternative would be to go for 4.7.2 / 4.7.3, but still switch the exception model to dwarf for 32 bit.



More information about the Development mailing list