diff options
author | Eugene Leviant <eleviant@accesssoftek.com> | 2017-06-29 15:38:47 +0000 |
---|---|---|
committer | Eugene Leviant <eleviant@accesssoftek.com> | 2017-06-29 15:38:47 +0000 |
commit | 6269d39f44d22a80e0eb84e987b4531d688333da (patch) | |
tree | e1f845748433b0d7d8199d8f7ad8e3c3a1609f2e | |
parent | 480907248e26ab2536542446d5ac5fa7c08518d3 (diff) | |
download | bcm5719-llvm-6269d39f44d22a80e0eb84e987b4531d688333da.tar.gz bcm5719-llvm-6269d39f44d22a80e0eb84e987b4531d688333da.zip |
[llvm-objdump] Handle invalid instruction gracefully on ARM
Differential revision: https://reviews.llvm.org/D34813
llvm-svn: 306687
-rw-r--r-- | llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objdump/ARM/invalid-instruction.s | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index 585726208a8..5ab236b7fd4 100644 --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -486,7 +486,7 @@ DecodeStatus ARMDisassembler::getInstruction(MCInst &MI, uint64_t &Size, } } - Size = 0; + Size = 4; return MCDisassembler::Fail; } diff --git a/llvm/test/tools/llvm-objdump/ARM/invalid-instruction.s b/llvm/test/tools/llvm-objdump/ARM/invalid-instruction.s new file mode 100644 index 00000000000..a63300cadff --- /dev/null +++ b/llvm/test/tools/llvm-objdump/ARM/invalid-instruction.s @@ -0,0 +1,9 @@ +@RUN: llvm-mc -triple arm-unknown-linux -filetype=obj %s | llvm-objdump -d - | FileCheck %s + +.text + b l0 + .inst 0xffffffff +l0: + +@CHECK: 0: 00 00 00 ea b #0 <l0> +@CHECK-NEXT: 4: ff ff ff ff <unknown> |