[all-commits] [llvm/llvm-project] f43c07: [lldb] [Process/FreeBSDRemote] Introduce arm64 sup...

Michał Górny via All-commits all-commits at lists.llvm.org
Sun Jan 31 10:52:31 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f43c0707f66a19236f58f5bd8be470e5fc625603
      https://github.com/llvm/llvm-project/commit/f43c0707f66a19236f58f5bd8be470e5fc625603
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-01-31 (Sun, 31 Jan 2021)

  Changed paths:
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.h
    M lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp

  Log Message:
  -----------
  [lldb] [Process/FreeBSDRemote] Introduce arm64 support

Introduce arm64 support in the FreeBSDRemote plugin.  The code
is roughly based on Linux and reuses the same POSIX RegisterInfos
(but the buffers need to be a few bytes larger due to stricter struct
member alignment in FreeBSD structures -- luckily, they do not affect
the actual member offsets).  It supports reading and writing
general-purpose and FPU registers.  SVE and hardware watchpoint support
is missing due to the limitations of FreeBSD ptrace(2) API.

Differential Revision: https://reviews.llvm.org/D95297


  Commit: 9d029362d1ed48c38565aeab0ca04bf4143d3e5b
      https://github.com/llvm/llvm-project/commit/9d029362d1ed48c38565aeab0ca04bf4143d3e5b
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-01-31 (Sun, 31 Jan 2021)

  Changed paths:
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.h
    M lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp

  Log Message:
  -----------
  [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


Compare: https://github.com/llvm/llvm-project/compare/3d1200b9f6e3...9d029362d1ed


More information about the All-commits mailing list