windres uses unsigned long for fwrite'ing 32-bit little-endian integers (DWORD). This breaks cross tools on 64-bit and/or bigendian hosts.
When writing res file, resource header (write_res_header() from resres.c) is two 64-bit integers instead of 32 bit. There's also FIXME in code about that issue (resres.c): /* FIXME: This file does not work correctly in a cross configuration. It assumes that it can use fread and fwrite to read and write integers. It does no swapping. */ -- Summary: windres depends on host's endianness and bitness Product: binutils Version: 2.18 (HEAD) Status: NEW Severity: normal Priority: P2 Component: binutils AssignedTo: unassigned at sources dot redhat dot com ReportedBy: raorn at altlinux dot ru CC: bug-binutils at gnu dot org GCC host triplet: x86_64-alt-linux GCC target triplet: i386-mingw32msvc http://sourceware.org/bugzilla/show_bug.cgi?id=2737 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils