http://bugs.winehq.org/show_bug.cgi?id=22316
--- Comment #13 from Dan Kegel dank@kegel.com 2011-07-12 11:11:11 CDT --- The standard says 4 bytes. gcc deviates intentionally from the standard because current ia32 works better with 8 or 16 byte alignment.
I filed http://bugs.linuxbase.org/show_bug.cgi?id=3268 about the problem, let's see what they say.