Stack traces: Add support for BLX instruction

This commit is contained in:
Adam Higerd 2020-08-10 12:02:32 -05:00 committed by Vicki Pfau
parent 1e16d9a4f7
commit 41a637c294
2 changed files with 2 additions and 2 deletions

View File

@ -27,7 +27,7 @@ static inline bool ARMInstructionIsBranch(enum ARMMnemonic mnemonic) {
case ARM_MN_B: case ARM_MN_B:
case ARM_MN_BL: case ARM_MN_BL:
case ARM_MN_BX: case ARM_MN_BX:
// TODO: case: ARM_MN_BLX: case ARM_MN_BLX:
return true; return true;
default: default:
return false; return false;

View File

@ -61,7 +61,7 @@ static bool ARMDebuggerUpdateStackTraceInternal(struct mDebuggerPlatform* d, uin
bool interrupt = false; bool interrupt = false;
bool isWideInstruction = ARMDecodeCombined(cpu, &info); bool isWideInstruction = ARMDecodeCombined(cpu, &info);
if (!isWideInstruction && info.mnemonic == ARM_MN_BL) { if (!isWideInstruction && (info.mnemonic == ARM_MN_BL || info.mnemonic == ARM_MN_BLX)) {
return false; return false;
} }
if (!ARMTestCondition(cpu, info.condition)) { if (!ARMTestCondition(cpu, info.condition)) {