[Lldb-commits] [lldb] r152670 - /lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp

Johnny Chen johnny.chen at apple.com
Tue Mar 13 14:07:03 PDT 2012


Author: johnny
Date: Tue Mar 13 16:07:03 2012
New Revision: 152670

URL: http://llvm.org/viewvc/llvm-project?rev=152670&view=rev
Log:
rdar://problem/11031743

For EmulateInstructionARM::EmulatePUSH(), fix the logical branch for when pc is pushed to behave
like the other cases where:

    context.SetRegisterToRegisterPlusOffset (reg_info, sp_reg, addr - sp);

is called to inform of the operation to set a register value to a memory location calculated from
a base register plus an offset.

Modified:
    lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp

Modified: lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp?rev=152670&r1=152669&r2=152670&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp (original)
+++ lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp Tue Mar 13 16:07:03 2012
@@ -407,7 +407,7 @@
         if (BitIsSet (registers, 15))
         {
             GetRegisterInfo (eRegisterKindDWARF, dwarf_pc, reg_info);
-            context.SetRegisterPlusOffset (reg_info, addr - sp);
+            context.SetRegisterToRegisterPlusOffset (reg_info, sp_reg, addr - sp);
             const uint32_t pc = ReadCoreReg(PC_REG, &success);
             if (!success)
                 return false;





More information about the lldb-commits mailing list