forked from OSchip/llvm-project
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> llvm-svn: 208390
This commit is contained in:
parent
3d7c778d6d
commit
2fc43a3821
|
@ -1155,7 +1155,7 @@ Args::StringToGenericRegister (const char *s)
|
|||
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;
|
||||
|
|
|
@ -358,6 +358,8 @@ EmulateInstructionARM64::CreateFunctionEntryUnwind (UnwindPlan &unwind_plan)
|
|||
// All other registers are the same.
|
||||
|
||||
unwind_plan.SetSourceName ("EmulateInstructionARM64");
|
||||
unwind_plan.SetSourcedFromCompiler (eLazyBoolNo);
|
||||
unwind_plan.SetUnwindPlanValidAtAllInstructions (eLazyBoolYes);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue