[lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support
authorMichał Górny <mgorny@moritz.systems>
Wed, 27 Jan 2021 14:34:15 +0000 (15:34 +0100)
committerMichał Górny <mgorny@moritz.systems>
Sun, 31 Jan 2021 18:52:08 +0000 (19:52 +0100)
commit9d029362d1ed48c38565aeab0ca04bf4143d3e5b
tree296e9e9f2c71a3ecef7fec808d444ea60cdcc2cf
parentf43c0707f66a19236f58f5bd8be470e5fc625603
[lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support

Introduce a NativeRegisterContextFreeBSD for 32-bit ARM platform.
This includes support for GPR + VFP registers as exposed by FreeBSD's
ptrace(2) API.  Hardware breakpoints or watchpoints are not supported
due to missing kernel support.  The code is roughly based on the arm64
context.

It also includes an override for GetSoftwareBreakpointTrapOpcode() based
on the matching code in the PlatformFreeBSD plugin.

Differential Revision: https://reviews.llvm.org/D95696
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_arm.cpp [new file with mode: 0644]
lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.h [new file with mode: 0644]
lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp