[all-commits] [llvm/llvm-project] 73a2b9: [lldb][AArch64][Linux] Handle SME only and kernels...
David Spickett via All-commits
all-commits at lists.llvm.org
Wed Apr 8 03:38:26 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
https://github.com/llvm/llvm-project/commit/73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
Author: David Spickett <david.spickett at arm.com>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
M lldb/docs/use/aarch64-linux.md
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/test/API/linux/aarch64/sme_only_registers/TestSMEOnlyRegisters.py
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][AArch64][Linux] Handle SME only and kernels < 6.19 (#189982)
Part of #138717.
The feature we need to use to restore non-streaming mode after an
expression enters streaming mode was only added recently in kernel 6.19.
There is no other way to restore this state, so I have adjusted the code
to use the normal FP restore path for every state other than: on an SME
only system and in streaming mode and restoring non-streaming state
If that fails, we're on < 6.19 and all we can do is accept it and
restore the rest of the register state.
I've updated the tests to check kernel version and for < 6.19 remove any
expression tests that hit this specific state. I could have set up
expected state for them, but it's basically undefined behaviour, and I
think it would make the already complex tests even worse.
Documentation now mentions the required version, and release notes link
to that documentation.
Tested on an ARM FVP configured to SME only with kernel 6.18 and 6.19,
and a Graviton 3 with only SVE.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list