Some Windows version expect output to be aligned on 4 bytes.
Notes (from i386 and x86_64 tests): - MSVC and Mingw/gcc don't layout the two variables (sdki, sdki_ex) the same way. - MSVC aligns each variable on 4-byte boundary, - MingW/GCC stores them in a 8-byte chunk, but starting from the end of the buffer: hence none of them is on a 4-byte boundary.
So, fixing the alignment of variables is not sufficient to workaround the compilers' discrepancy on all source code.
I didn't find a generic way to align on 4 bytes structures of size smaller than 4 bytes (apart from adding the DECLSPEC_ALIGN to each of the offending structures, likely not that many though). Ideas welcomed.
Wine-Bugs: https://bugs.winehq.org/show_bug.cgi?id=53684
Signed-off-by: Eric Pouech eric.pouech@gmail.com