[Lldb-commits] [lldb] [lldb][AArch64] Read SME2's ZT0 register from Linux core files (PR #70934)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 2 08:55:18 PDT 2023


================
@@ -339,6 +337,18 @@ bool RegisterContextCorePOSIX_arm64::ReadRegister(const RegisterInfo *reg_info,
       value.SetFromMemoryData(*reg_info, src + sizeof(sve::user_za_header),
                               reg_info->byte_size, lldb::eByteOrderLittle,
                               error);
+    } else if (m_register_info_up->IsSMERegZT(reg)) {
+      value.SetFromMemoryData(*reg_info, m_zt_data.GetDataStart(),
+                              reg_info->byte_size, lldb::eByteOrderLittle,
+                              error);
+    } else {
+      offset = reg_info->byte_offset - m_register_info_up->GetSMEOffset();
+      assert(offset < sizeof(m_sme_pseudo_regs));
----------------
DavidSpickett wrote:

The asserts are mostly for people like us because they generally happen if you are adding new registers and didn't update something.

But you are right Jason about non-asserts builds.

Since this is existing code I'm going to be cheeky and land this patch, and come back with another PR that makes these
assert in debug builds and return false for release builds.

https://github.com/llvm/llvm-project/pull/70934


More information about the lldb-commits mailing list