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

Johnny Chen johnny.chen at apple.com
Tue Feb 8 10:58:32 PST 2011


Author: johnny
Date: Tue Feb  8 12:58:31 2011
New Revision: 125103

URL: http://llvm.org/viewvc/llvm-project?rev=125103&view=rev
Log:
Add missing implementation for "BL, BLX (immediate)" Encoding A1.

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=125103&r1=125102&r2=125103&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp (original)
+++ lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp Tue Feb  8 12:58:31 2011
@@ -784,6 +784,13 @@
             context.arg2 = eModeARM;   // target instruction set
             break;
             }
+        case eEncodingA1:
+            lr = pc + 4; // return address
+            imm32 = llvm::SignExtend32<26>(Bits32(opcode, 23, 0) << 2);
+            target = pc + 8 + imm32;
+            context.arg1 = 8 + imm32;  // signed offset
+            context.arg2 = eModeARM; // target instruction set
+            break;
         case eEncodingA2:
             lr = pc + 4; // return address
             imm32 = llvm::SignExtend32<26>(Bits32(opcode, 23, 0) << 2 | Bits32(opcode, 24, 24) << 1);





More information about the lldb-commits mailing list