[all-commits] [llvm/llvm-project] ea4cf9: [lldb][FreeBSD][AArch64] Enable register field det...
David Spickett via All-commits
all-commits at lists.llvm.org
Mon Jul 1 08:19:18 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ea4cf923edf441897c31edd59a0d7bc8c6f380ff
https://github.com/llvm/llvm-project/commit/ea4cf923edf441897c31edd59a0d7bc8c6f380ff
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
A lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
R lldb/source/Plugins/Process/Utility/RegisterFlagsLinux_arm64.cpp
R lldb/source/Plugins/Process/Utility/RegisterFlagsLinux_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/Shell/Register/Core/aarch64-freebsd-register-fields.test
M llvm/docs/ReleaseNotes.rst
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[lldb][FreeBSD][AArch64] Enable register field detection (#85058)
This extends the existing register fields support from AArch64 Linux
to AArch64 FreeBSD. So you will now see output like this:
```
(lldb) register read cpsr
cpsr = 0x60000200
= (N = 0, Z = 1, C = 1, V = 0, DIT = 0, SS = 0, IL = 0, SSBS = 0, D = 1, A = 0, I = 0, F = 0, nRW = 0, EL = 0, SP = 0)
```
Linux and FreeBSD both have HWCAP/HWCAP2 so the detection mechanism
is the same and I've renamed the detector class to reflect that.
I have confirmed that FreeBSD's treatment of CPSR (spsr as the kernel
calls it) is similair enough that we can use the same field information.
(see `sys/arm64/include/armreg.h` and `PSR_SETTABLE_64`)
For testing I've enabled the same live process test as Linux
and added a shell test using an existing FreeBSD core file.
Note that the latter does not need XML support because when reading
a core file we are not sending the information via target.xml,
it's just internal to LLDB.
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