Package: gcc-mingw-w64-x86-64 Version: 4.9.1-19+14.3 Severity: normal Dear Maintainer,
the gcc and g++ cross compilers (both i686-w64-mingw32-gcc and x86_64-w64-mingw32-gcc) handle __attribute__((packed)) wrong. Source code example: #include <stdio.h> struct S { bool _b; unsigned _u; } __attribute__((packed)) ; int main(int argc, char **argv) { printf("sizeof(S)=%d\n", sizeof(S)); return 0; } Compile and run: g++ -o packed packed.cpp && ./packed sizeof(S)=5 x86_64-w64-mingw32-g++ -o packed.exe packed.cpp && wine packed.exe sizeof(S)=8 wheezy cross-compiled .exe binaries also report 5. By the way: /usr/lib/gcc/i686-w64-mingw32/4.9-posix/libstdc++-6.dll /usr/lib/gcc/i686-w64-mingw32/4.9-win32/libstdc++-6.dll /usr/lib/gcc/x86_64-w64-mingw32/4.9-posix/libstdc++-6.dll /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/libstdc++-6.dll should be chmod +x, since samba is now configured by default to refuse exec permission of files without x permission, resulting in confisuing error during exe start. -- System Information: Debian Release: 8.1 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/6 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gcc-mingw-w64-x86-64 depends on: ii binutils-mingw-w64-x86-64 2.25-5+5.2 ii gcc-mingw-w64-base 4.9.1-19+14.3 ii libc6 2.19-18 ii libcloog-isl4 0.18.2-1+b2 ii libgmp10 2:6.0.0+dfsg-6 ii libisl10 0.12.2-2 ii libmpc3 1.0.2-1 ii libmpfr4 3.1.2-2 ii mingw-w64-x86-64-dev 3.2.0-2 ii zlib1g 1:1.2.8.dfsg-2+b1 gcc-mingw-w64-x86-64 recommends no packages. Versions of packages gcc-mingw-w64-x86-64 suggests: pn gcc-4.9-locales <none> -- no debconf information