[Lldb-commits] [PATCH] D131566: [LLDB][RISCV] Add riscv software breakpoint trap code
Emmmer S via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 10 23:26:30 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG0247b5aaae7a: [LLDB][RISCV] Add riscv software breakpoint trap code (authored by Emmmer).
Herald added a subscriber: lldb-commits.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131566/new/
https://reviews.llvm.org/D131566
Files:
lldb/source/Host/common/NativeProcessProtocol.cpp
lldb/source/Target/Platform.cpp
Index: lldb/source/Target/Platform.cpp
===================================================================
--- lldb/source/Target/Platform.cpp
+++ lldb/source/Target/Platform.cpp
@@ -1926,6 +1926,13 @@
trap_opcode_size = sizeof(g_i386_opcode);
} break;
+ case llvm::Triple::riscv32:
+ case llvm::Triple::riscv64: {
+ static const uint8_t g_riscv_opcode[] = {0x73, 0x00, 0x10, 0x00}; // ebreak
+ trap_opcode = g_riscv_opcode;
+ trap_opcode_size = sizeof(g_riscv_opcode);
+ } break;
+
default:
return 0;
}
Index: lldb/source/Host/common/NativeProcessProtocol.cpp
===================================================================
--- lldb/source/Host/common/NativeProcessProtocol.cpp
+++ lldb/source/Host/common/NativeProcessProtocol.cpp
@@ -505,6 +505,7 @@
static const uint8_t g_s390x_opcode[] = {0x00, 0x01};
static const uint8_t g_ppc_opcode[] = {0x7f, 0xe0, 0x00, 0x08}; // trap
static const uint8_t g_ppcle_opcode[] = {0x08, 0x00, 0xe0, 0x7f}; // trap
+ static const uint8_t g_riscv_opcode[] = {0x73, 0x00, 0x10, 0x00}; // ebreak
switch (GetArchitecture().GetMachine()) {
case llvm::Triple::aarch64:
@@ -533,6 +534,10 @@
case llvm::Triple::ppc64le:
return llvm::makeArrayRef(g_ppcle_opcode);
+ case llvm::Triple::riscv32:
+ case llvm::Triple::riscv64:
+ return llvm::makeArrayRef(g_riscv_opcode);
+
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"CPU type not supported!");
@@ -557,6 +562,8 @@
case llvm::Triple::ppc:
case llvm::Triple::ppc64:
case llvm::Triple::ppc64le:
+ case llvm::Triple::riscv32:
+ case llvm::Triple::riscv64:
// On these architectures the PC doesn't get updated for breakpoint hits.
return 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131566.451739.patch
Type: text/x-patch
Size: 1779 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220811/9e1315d6/attachment.bin>
More information about the lldb-commits
mailing list