From 9397fba093f76d112d7b278c8831954610251e4a Mon Sep 17 00:00:00 2001 From: Johnny Chen Date: Mon, 24 Jan 2011 22:25:48 +0000 Subject: 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. llvm-svn: 124149 --- lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp') diff --git a/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp b/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp index 91eb0211e1e..cdb4f622d17 100644 --- a/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp +++ b/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp @@ -135,6 +135,9 @@ EmulateARMPushEncoding (EmulateInstructionARM *emulator, ARMEncoding encoding) 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); -- cgit v1.2.3