[LLDB][LoongArch] Make software single stepping work
authorHui Li <lihui@loongson.cn>
Thu, 8 Dec 2022 11:59:11 +0000 (19:59 +0800)
committerWeining Lu <luweining@loongson.cn>
Thu, 8 Dec 2022 11:59:39 +0000 (19:59 +0800)
commitf0f33957d03444eefc8264cbfe7f5cfe7bee6f3d
tree214c4446cb08169b1f17c5e39f1724004cec93a3
parent2bfef8d5370fbe9d500441b2e1e3fe4a4d68deec
[LLDB][LoongArch] Make software single stepping work

Hardware single stepping is not currently supported by the linux kernel.
In order to support single step debugging, add EmulateInstructionLoongArch
to implement the software Single Stepping. This patch only support the
simplest single step execution of non-jump instructions.

Reviewed By: SixWeining, DavidSpickett

Differential Revision: https://reviews.llvm.org/D139158
lldb/source/Plugins/Instruction/CMakeLists.txt
lldb/source/Plugins/Instruction/LoongArch/CMakeLists.txt [new file with mode: 0644]
lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp [new file with mode: 0644]
lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h [new file with mode: 0644]
lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
lldb/tools/lldb-server/CMakeLists.txt
lldb/tools/lldb-server/SystemInitializerLLGS.cpp