aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2025-06-10 19:50:33 +0200
committerGitHub <noreply@github.com>2025-06-10 19:50:33 +0200
commit74a012ed756f5280c71e281c0fd2dd50f83f38b7 (patch)
tree619e8e82f2de31b1e6bc842661b6dcbf83109ae6 /clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
parent07a1d479cc4e2d529b04cecb2f97ff16f32ef197 (diff)
downloadllvm-74a012ed756f5280c71e281c0fd2dd50f83f38b7.zip
llvm-74a012ed756f5280c71e281c0fd2dd50f83f38b7.tar.gz
llvm-74a012ed756f5280c71e281c0fd2dd50f83f38b7.tar.bz2
[lldb/aarch64] Fix PC register info augmentation (#143499)
This fixes a regression caused by #139817, where we would fail to unwind (using eh_frame) when using debug stubs (like qemu) which do not provide eh_frame register numbers. Unwinding fails because the unwinder tries to convert pc register number to the "eh_frame" scheme (and fails). Previously that worked because the code used a slightly different pattern which ended up comparing the number by converting it to the "generic" scheme (which we do provide). I don't think that's a bug in the unwinder -- we just need to make sure we provide the register number all the time. The associated test is not particularly useful, but I'm hoping it could be used to test other changes like this as well. Other register augmentation changes are tested in an end-to-end fashion (by injecting gdb-remote packets and then trying to read registers). That works well for testing the addition of subregisters, but it isn't particularly suitable for testing register numbers, as the only place (that I know of) where this manifests is during unwinding, and recreating an unwindable process in a test like this is fairly challenging. Probably the best way to ensure coverage for this scenario would be to have lldb-server stop sending eh_frame register numbers (align it with other gdb-like stubs).
Diffstat (limited to 'clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp')
0 files changed, 0 insertions, 0 deletions