Remove DCHECKs from DisassemblerArm
Avoids crashing when disassembling inline data.
Change-Id: I8171894c12e8276737827e8451903bc10255c82f
diff --git a/src/disassembler_arm.cc b/src/disassembler_arm.cc
index 91da6f7..7e75600 100644
--- a/src/disassembler_arm.cc
+++ b/src/disassembler_arm.cc
@@ -382,8 +382,11 @@
if (Rd.r != 0xF) {
opcode << "and";
} else {
+ if (S != 1U) {
+ opcode << "UNKNOWN TST-" << S;
+ break;
+ }
opcode << "tst";
- DCHECK_EQ(S, 1U);
S = 0; // don't print 's'
}
break;
@@ -407,8 +410,11 @@
if (Rd.r != 0xF) {
opcode << "eor";
} else {
+ if (S != 1U) {
+ opcode << "UNKNOWN TEQ-" << S;
+ break;
+ }
opcode << "teq";
- DCHECK_EQ(S, 1U);
S = 0; // don't print 's'
}
break;
@@ -417,8 +423,11 @@
if (Rd.r != 0xF) {
opcode << "add";
} else {
+ if (S != 1U) {
+ opcode << "UNKNOWN CMN-" << S;
+ break;
+ }
opcode << "cmn";
- DCHECK_EQ(S, 1U);
S = 0; // don't print 's'
}
break;
@@ -428,8 +437,11 @@
if (Rd.r != 0xF) {
opcode << "sub";
} else {
+ if (S != 1U) {
+ opcode << "UNKNOWN CMP-" << S;
+ break;
+ }
opcode << "cmp";
- DCHECK_EQ(S, 1U);
S = 0; // don't print 's'
}
break;