[Lldb-commits] [PATCH] D109695: [lldb] [Process/gdb-remote] Alias sp to x31 on AArch64 for gdbserver
Michał Górny via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Sep 16 04:14:02 PDT 2021
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG47d57547f43c: [lldb] [Process/gdb-remote] Alias sp to x31 on AArch64 for gdbserver (authored by mgorny).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109695/new/
https://reviews.llvm.org/D109695
Files:
lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
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
@@ -397,6 +397,12 @@
["x0 = 0x0807060504030201"])
self.match("register read x1",
["x1 = 0x1817161514131211"])
+ self.match("register read x29",
+ ["x29 = 0x3837363534333231"])
+ self.match("register read x30",
+ ["x30 = 0x4847464544434241"])
+ self.match("register read x31",
+ ["sp = 0x5857565554535251"])
self.match("register read sp",
["sp = 0x5857565554535251"])
self.match("register read pc",
Index: lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
===================================================================
--- lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
+++ lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
@@ -31,6 +31,8 @@
uint32_t GetGenericNum(llvm::StringRef name) override;
+ void AugmentRegisterInfo(lldb_private::RegisterInfo &info) override;
+
using lldb_private::MCBasedABI::MCBasedABI;
};
#endif
Index: lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
===================================================================
--- lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
+++ lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
@@ -52,6 +52,7 @@
MapRegisterName(reg, "x30", "lr");
return reg;
}
+
uint32_t ABIAArch64::GetGenericNum(llvm::StringRef name) {
return llvm::StringSwitch<uint32_t>(name)
.Case("pc", LLDB_REGNUM_GENERIC_PC)
@@ -69,3 +70,11 @@
.Case("x7", LLDB_REGNUM_GENERIC_ARG8)
.Default(LLDB_INVALID_REGNUM);
}
+
+void ABIAArch64::AugmentRegisterInfo(lldb_private::RegisterInfo &info) {
+ lldb_private::MCBasedABI::AugmentRegisterInfo(info);
+
+ // GDB sends x31 as "sp". Add the "x31" alt_name for convenience.
+ if (!strcmp(info.name, "sp") && !info.alt_name)
+ info.alt_name = "x31";
+}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109695.372896.patch
Type: text/x-patch
Size: 2135 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210916/e7424234/attachment.bin>
More information about the lldb-commits
mailing list