[Lldb-commits] [PATCH] D77044: Extend max register size to accommodate AArch64 SVE vector regs
Muhammad Omair Javaid via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 28 19:59:25 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG9f8b4472fb60: Extend max register size to accommodate AArch64 SVE vector regs (authored by omjavaid).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77044/new/
https://reviews.llvm.org/D77044
Files:
lldb/include/lldb/Utility/RegisterValue.h
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
lldb/source/Utility/RegisterValue.cpp
Index: lldb/source/Utility/RegisterValue.cpp
===================================================================
--- lldb/source/Utility/RegisterValue.cpp
+++ lldb/source/Utility/RegisterValue.cpp
@@ -810,7 +810,7 @@
if (buffer.length != rhs.buffer.length)
return false;
else {
- uint8_t length = buffer.length;
+ uint16_t length = buffer.length;
if (length > kMaxRegisterByteSize)
length = kMaxRegisterByteSize;
return memcmp(buffer.bytes, rhs.buffer.bytes, length) == 0;
Index: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
@@ -2040,7 +2040,7 @@
packet, "P packet missing '=' char after register number");
// Parse out the value.
- uint8_t reg_bytes[32]; // big enough to support up to 256 bit ymmN register
+ uint8_t reg_bytes[RegisterValue::kMaxRegisterByteSize];
size_t reg_size = packet.GetHexBytesAvail(reg_bytes);
// Get the thread to use.
Index: lldb/include/lldb/Utility/RegisterValue.h
===================================================================
--- lldb/include/lldb/Utility/RegisterValue.h
+++ lldb/include/lldb/Utility/RegisterValue.h
@@ -26,7 +26,8 @@
class RegisterValue {
public:
- enum { kMaxRegisterByteSize = 64u };
+ // big enough to support up to 256 byte AArch64 SVE
+ enum { kMaxRegisterByteSize = 256u };
enum Type {
eTypeInvalid,
@@ -261,7 +262,7 @@
struct {
uint8_t bytes[kMaxRegisterByteSize]; // This must be big enough to hold any
// register for any supported target.
- uint8_t length;
+ uint16_t length;
lldb::ByteOrder byte_order;
} buffer;
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77044.260824.patch
Type: text/x-patch
Size: 1915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200429/4cf0a1ab/attachment.bin>
More information about the lldb-commits
mailing list