on zLinux, s390 instruction CIT is assembled into [.long 0xEC'R'0 'IIII' 'M'027] where R is target reg [0-F], I is immediate [0-2^4), and M is mask. However, layout asm mode parses this instruction as 4 byte long when it is 6 byte. All subsequent instructions are therefore parsed incorrectly. example 0x400656 .long 0xEC100000 0x40065a sth %r7,2418(%r2,%r11) //bogus, should parse from 0x40065c (gdb) p/x *0x40065a $1 = 0x4072b972 //0x4072 is from .long
*** Bug 17037 has been marked as a duplicate of this bug. ***
cit is a zarch instruction. It wasn't recognized because binutils disassembly defaulted to ESA mode for 31 bit binaries. We changed that recently so it should be fixed by now: https://sourceware.org/ml/binutils/2013-10/msg00382.html