[lldb] [llvm] [lldb][AArch64][Linux] Handle SME only and kernels < 6.19 (PR #189982)

David Spickett via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 00:51:04 PDT 2026


================
@@ -1197,16 +1209,19 @@ Status NativeRegisterContextLinux_arm64::WriteAllRegisterValues(
         // exiting streaming mode.
         error = WriteRegisterSet(&ioVec, sve_fpsimd_data.size(), NT_ARM_SVE);
 
-        // Wrote FPU, and SVE overlaps FPU.
-        m_fpu_is_valid = false;
-        m_sve_buffer_is_valid = false;
-        m_sve_header_is_valid = false;
+        if (error.Success()) {
+          // Wrote FPU, and SVE overlaps FPU.
+          m_fpu_is_valid = false;
+          m_sve_buffer_is_valid = false;
+          m_sve_header_is_valid = false;
 
-        m_sve_state = SVEState::Unknown;
-        ConfigureRegisterContext();
+          m_sve_state = SVEState::Unknown;
+          ConfigureRegisterContext();
 
-        // Consume FP register set.
-        src += GetFPRSize();
+          // Consume FP register set.
+          src += GetFPRSize();
----------------
DavidSpickett wrote:

I need to do this regardless of success. In case there are register sets left to restore after FP.

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


More information about the llvm-commits mailing list