i686-w64-mingw32 is currently built with sjlj exception handling, which causes problems when using pre-built packages from the msys2 project. It would be nice if there was an option to build cross-i686-w64-mingw32/gcc with dwarf2: https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-gcc/PKGBUILD#L146
Can you elaborate what kind of problems it is? Do you try to mix C++ libraries built with different toolchains? You can also try set EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf2" via package.env mechanism for cross-i686-w64-mingw32/gcc package. I'm trying to find where gcc encodes that i686 needs to use sjlj and x86_64 does not need it.
> Do you try to mix C++ libraries built with different toolchains? That's the exact problem (specifically, libstdc++6.dll). I'm looking into package.env for EXTRA_ECONF