[lldb] [Process/FreeBSDRemote] Introduce mips64 support
authorMichał Górny <mgorny@moritz.systems>
Thu, 28 Jan 2021 11:23:54 +0000 (12:23 +0100)
committerMichał Górny <mgorny@moritz.systems>
Mon, 8 Feb 2021 17:27:26 +0000 (18:27 +0100)
commit8244fc505def67f1094713202a2345f0c39d33dd
tree89598fd74f0895c03c12184bf6c152ffe960067a
parent5a63045fe78834937785ed5081052e083a98077f
[lldb] [Process/FreeBSDRemote] Introduce mips64 support

Introduce mips64 support to match the legacy FreeBSD plugin. Similarly
to the legacy plugin, the code does not support FPU registers at the
moment.  The support for them will be submitted separately as it
requires changes to the register context shared by both plugins.

This also includes software single-stepping support that is moved from
the Linux plugin into a common Utility class.  The FreeBSD code also
starts explicitly ignoring EINVAL from PT_CLEARSTEP since this is easier
to implement than checking whether hardware single-stepping were used.

Differential Revision: https://reviews.llvm.org/D95802
13 files changed:
lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h
lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_mips64.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_mips64.h [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.cpp
lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
lldb/source/Plugins/Process/Utility/CMakeLists.txt
lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h [new file with mode: 0644]
lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp