Add comment about using Encoding A1 push instruction to emulate the "stmfd sp!, reg" case,
i.e., pushing one register onto the full descending stacks.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124149 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/Utility/EmulateInstructionARM.cpp b/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
index 91eb021..cdb4f62 100644
--- a/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
+++ b/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
@@ -135,6 +135,9 @@
break;
case eEncodingA1:
registers = EmulateInstruction::UnsignedBits (opcode, 15, 0);
+ // Instead of return false, let's handle the following case as well,
+ // which amounts to pushing one reg onto the full descending stacks.
+ // if BitCount(register_list) < 2 then SEE STMDB / STMFD;
break;
case eEncodingA2:
t = EmulateInstruction::UnsignedBits (opcode, 15, 12);