llvm-objdump now disassembles unrecognised opcodes as data, using
the .long directive. We treat unrecognised opcodes as being 32 bit
values, so move along 4 bytes rather than the single byte which
previously resulted in a cascade of bogus disassembly following an
unrecognised opcode.
While no solution can always disassemble code that contains
embedded data correctly this provides a significant improvement.
Fixes bug in https://llvm.org/bugs/show_bug.cgi?id=36347
This should return the minimum of 4 or the number of bytes remaining if the disassembly failed.