[Lldb-commits] [lldb] r208390 - Args::StringToGenericRegister will now accept "lr" as

Jason Molenda jmolenda at apple.com
Thu May 8 21:09:49 PDT 2014


Author: jmolenda
Date: Thu May  8 23:09:48 2014
New Revision: 208390

URL: http://llvm.org/viewvc/llvm-project?rev=208390&view=rev
Log:
Args::StringToGenericRegister will now accept "lr" as 
another way to indicate that this register is a generic
Return Address register (in addition to "ra") - this is
used primarily by OperatingSystem plugins.

Correctly annotate the UnwindPlan created by EmulateInstructionARM64
to indicate that it was not sourced from a compiler and it
is valid at every instruction.
<rdar://problem/16639754> 

Modified:
    lldb/trunk/source/Interpreter/Args.cpp
    lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp

Modified: lldb/trunk/source/Interpreter/Args.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/Args.cpp?rev=208390&r1=208389&r2=208390&view=diff
==============================================================================
--- lldb/trunk/source/Interpreter/Args.cpp (original)
+++ lldb/trunk/source/Interpreter/Args.cpp Thu May  8 23:09:48 2014
@@ -1155,7 +1155,7 @@ Args::StringToGenericRegister (const cha
             return LLDB_REGNUM_GENERIC_SP;
         else if (strcmp(s, "fp") == 0)
             return LLDB_REGNUM_GENERIC_FP;
-        else if (strcmp(s, "ra") == 0)
+        else if (strcmp(s, "ra") == 0 || strcmp(s, "lr") == 0)
             return LLDB_REGNUM_GENERIC_RA;
         else if (strcmp(s, "flags") == 0)
             return LLDB_REGNUM_GENERIC_FLAGS;

Modified: lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp?rev=208390&r1=208389&r2=208390&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp (original)
+++ lldb/trunk/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp Thu May  8 23:09:48 2014
@@ -358,6 +358,8 @@ EmulateInstructionARM64::CreateFunctionE
     // All other registers are the same.
     
     unwind_plan.SetSourceName ("EmulateInstructionARM64");
+    unwind_plan.SetSourcedFromCompiler (eLazyBoolNo);
+    unwind_plan.SetUnwindPlanValidAtAllInstructions (eLazyBoolYes);
     return true;
 }
 





More information about the lldb-commits mailing list