[lldb] Introduce a FreeBSDKernel plugin for vmcores
authorMichał Górny <mgorny@moritz.systems>
Wed, 1 Dec 2021 22:04:59 +0000 (23:04 +0100)
committerMichał Górny <mgorny@moritz.systems>
Tue, 14 Dec 2021 21:07:20 +0000 (22:07 +0100)
commit9c7fbc3f9b05b3249468ef6aeacaf71841b5cfe3
tree2db6299489e460f052d5d97104ae8d8134569a7f
parentf4abf28c0a0ba2226379a1b1926a7c36d75265e9
[lldb] Introduce a FreeBSDKernel plugin for vmcores

Introduce a FreeBSDKernel plugin that provides the ability to read
FreeBSD kernel core dumps.  The plugin utilizes libfbsdvmcore to provide
support for both "full memory dump" and minidump formats across variety
of architectures supported by FreeBSD.  It provides the ability to read
kernel memory, as well as the crashed thread status with registers
on arm64, i386 and x86_64.

Differential Revision: https://reviews.llvm.org/D114911
29 files changed:
lldb/cmake/modules/LLDBConfig.cmake
lldb/include/lldb/Host/Config.h.cmake
lldb/packages/Python/lldbsuite/test/decorators.py
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/source/API/SBDebugger.cpp
lldb/source/Plugins/Process/CMakeLists.txt
lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.h [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.h [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelVMCore.py [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-amd64.yaml [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-arm64.yaml [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-i386.yaml [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/README.rst [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/copy-sparse.py [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/libfbsdvmcore-print-offsets.patch [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/test.script [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-full.bz2 [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-minidump.bz2 [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-arm64-minidump.bz2 [new file with mode: 0644]
lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-i386-minidump.bz2 [new file with mode: 0644]