[all-commits] [llvm/llvm-project] 1a6002: [lldb] Initial version of FreeBSD remote process p...

Michał Górny via All-commits all-commits at lists.llvm.org
Thu Oct 8 07:04:08 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a600266c3ad1193d41ebb08a5a87c00cf726b1b
      https://github.com/llvm/llvm-project/commit/1a600266c3ad1193d41ebb08a5a87c00cf726b1b
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2020-10-08 (Thu, 08 Oct 2020)

  Changed paths:
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD.h
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.h
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.cpp
    A lldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/test/Shell/lit.cfg.py
    M lldb/tools/lldb-server/CMakeLists.txt
    M lldb/tools/lldb-server/lldb-gdbserver.cpp

  Log Message:
  -----------
  [lldb] Initial version of FreeBSD remote process plugin

Add a new FreeBSD Process plugin using client/server model.  This plugin
is based on the one used by NetBSD.  It currently supports a subset
of functionality for amd64.  It is automatically used when spawning
lldb-server.  It can also be used by lldb client by setting
FREEBSD_REMOTE_PLUGIN environment variable (to any value).

The code is capable of debugging simple single-threaded programs.  It
supports general purpose, debug and FPU registers (up to XMM) of amd64,
basic signalling, software breakpoints.

Adding the support for the plugin involves removing some dead code
from FreeBSDPlatform plugin (that was not ever used because
CanDebugProcess() returned false), and replacing it with appropriate
code from NetBSD platform support.

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




More information about the All-commits mailing list