[lldb] [ABI/AArch64] Recognize special regs by their xN names too
Recognize lr/sp/fp by their numeric register names in the ABI plugin. This is necessary to mark them appropriately when interfacing with gdbserver. Differential Revision: https://reviews.llvm.org/D109691
This commit is contained in:
parent
66249323d2
commit
c208deb900
|
|
@ -55,9 +55,9 @@ std::string ABIAArch64::GetMCName(std::string reg) {
|
|||
uint32_t ABIAArch64::GetGenericNum(llvm::StringRef name) {
|
||||
return llvm::StringSwitch<uint32_t>(name)
|
||||
.Case("pc", LLDB_REGNUM_GENERIC_PC)
|
||||
.Case("lr", LLDB_REGNUM_GENERIC_RA)
|
||||
.Case("sp", LLDB_REGNUM_GENERIC_SP)
|
||||
.Case("fp", LLDB_REGNUM_GENERIC_FP)
|
||||
.Cases("lr", "x30", LLDB_REGNUM_GENERIC_RA)
|
||||
.Cases("sp", "x31", LLDB_REGNUM_GENERIC_SP)
|
||||
.Cases("fp", "x29", LLDB_REGNUM_GENERIC_FP)
|
||||
.Case("cpsr", LLDB_REGNUM_GENERIC_FLAGS)
|
||||
.Case("x0", LLDB_REGNUM_GENERIC_ARG1)
|
||||
.Case("x1", LLDB_REGNUM_GENERIC_ARG2)
|
||||
|
|
|
|||
|
|
@ -409,5 +409,11 @@ class TestGDBServerTargetXML(GDBRemoteTestBase):
|
|||
["x0 = 0x0807060504030201"])
|
||||
self.match("register read arg2",
|
||||
["x1 = 0x1817161514131211"])
|
||||
self.match("register read fp",
|
||||
["x29 = 0x3837363534333231"])
|
||||
self.match("register read lr",
|
||||
["x30 = 0x4847464544434241"])
|
||||
self.match("register read ra",
|
||||
["x30 = 0x4847464544434241"])
|
||||
self.match("register read flags",
|
||||
["cpsr = 0x74737271"])
|
||||
|
|
|
|||
Loading…
Reference in New Issue