That's always been the case,
At least in 4.4, 4.5, and 4.6, as I see, libgcc functions are assumed
to be cdecl even with -mrtd.
and easily fixable with the switch I mentioned
which disables libgcc built-in functions (which shouldn't be used anyway).
I don't know any GCC switch which disables calls to libgcc functions.
These are used, for example, to implement long long integer division
(happens in classpnp, and it's compiled with -mrtd).
-fno-builtin, it disables built-in functions such as cos or strlen.
For exported functions, I think MS always uses
explicit convention in their
headers and sample source, so it shouldn't be a problem.
But now with -mrtd, the suffix is not added even to functions
explicitly declared as stdcall.