[Lldb-commits] [PATCH] D109691: [lldb] [ABI/AArch64] Recognize special regs by their xN names too
Michał Górny via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Sep 13 07:51:50 PDT 2021
mgorny created this revision.
mgorny added reviewers: labath, krytarowski, emaste.
Herald added a subscriber: kristof.beyls.
mgorny requested review of this revision.
Recognize lr/sp/fp by their numeric register names in the ABI plugin.
This is necessary to mark them appropriately when interfacing with
gdbserver.
https://reviews.llvm.org/D109691
Files:
lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
Index: lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
===================================================================
--- lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
+++ lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
@@ -635,5 +635,11 @@
["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"])
Index: lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
===================================================================
--- lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
+++ lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
@@ -55,9 +55,9 @@
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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109691.372253.patch
Type: text/x-patch
Size: 1632 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210913/bcf71645/attachment.bin>
More information about the lldb-commits
mailing list