https://sourceware.org/bugzilla/show_bug.cgi?id=31283
--- Comment #1 from Richard Jones <rjones at redhat dot com> --- The .mc parser converts the input from windows 1252 to UTF16-LE (note: little endian). Dumping out the UTF16-LE bytes on x86-64: 0x52f320: 0x3b 0x00 0x0a 0x00 0x00 0x00 ';' '\n' and on s390x: 0x11f75d8: 0x3b 0x00 0x0a 0x00 0x00 0x00 ';' '\n' they are the same, because they are both little endian. However the implementation of this inside binutils/windmc.c is as an array of unichar (unsigned short). On s390x which is big endian, the first character is read as 0x3b00 (15104): (gdb) frame 1 #1 0x00000000010089c0 in mc_set_content (src=0x11f75d0) at ./mclex.c:52 52 input_stream = input_stream_pos = unichar_dup (src); (gdb) print *src $1 = 15104 I don't see anywhere in windmc.c where the code bothers to think about endianness ... -- You are receiving this mail because: You are on the CC list for the bug.