mirror of https://github.com/mgba-emu/mgba.git
Stack traces: Add support for BLX instruction
This commit is contained in:
parent
1e16d9a4f7
commit
41a637c294
|
@ -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;
|
||||||
|
|
|
@ -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)) {
|
||||||
|
|
Loading…
Reference in New Issue