[all-commits] [llvm/llvm-project] 1a608c: Recognize a platform binary in ProcessGDBRemote wh...

Jason Molenda via All-commits all-commits at lists.llvm.org
Fri Sep 9 14:57:28 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a608cfb5ca81d7b1d8ebd6b21c6be9db59c837a
      https://github.com/llvm/llvm-project/commit/1a608cfb5ca81d7b1d8ebd6b21c6be9db59c837a
  Author: Jason Molenda <jason at molenda.com>
  Date:   2022-09-09 (Fri, 09 Sep 2022)

  Changed paths:
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  Recognize a platform binary in ProcessGDBRemote which determines plugins

Complete support of the binary-addresses key in the qProcessInfo packet
in ProcessGDBRemote, for detecting if one of the binaries needs to be
handled by a Platform plugin, and can be used to set the Process'
DynamicLoader plugin and the Target's Platform plugin.

Implement this method in PlatformDarwinKernel to recognize a kernel
fileset at that address, find the actual kernel address in the
fileset, set DynamicLoaderDarwinKernel and PlatformDarwinKernel
in the Process/Target; register the kernel address with the dynamic
loader so it will be loaded later during attach.

This patch only addresses the live debug scenario with a gdb remote
serial protocol connection. I'll handle corefiles in a subsequent
patch that builds on this.

Differential Revision: https://reviews.llvm.org/D133534
rdar://98754861




More information about the All-commits mailing list