[all-commits] [llvm/llvm-project] ee2325: [lldb] Move UnixSignals creation into Platform plu...

Alex via All-commits all-commits at lists.llvm.org
Mon Mar 20 15:41:37 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ee232506b870ce5282cc4da5ca493d41d361feb3
      https://github.com/llvm/llvm-project/commit/ee232506b870ce5282cc4da5ca493d41d361feb3
  Author: Alex Langford <alangford at apple.com>
  Date:   2023-03-20 (Mon, 20 Mar 2023)

  Changed paths:
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/UnixSignals.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
    M lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
    A lldb/source/Plugins/Platform/FreeBSD/FreeBSDSignals.cpp
    A lldb/source/Plugins/Platform/FreeBSD/FreeBSDSignals.h
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
    M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
    M lldb/source/Plugins/Platform/Linux/CMakeLists.txt
    A lldb/source/Plugins/Platform/Linux/LinuxSignals.cpp
    A lldb/source/Plugins/Platform/Linux/LinuxSignals.h
    M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
    M lldb/source/Plugins/Platform/Linux/PlatformLinux.h
    M lldb/source/Plugins/Platform/NetBSD/CMakeLists.txt
    A lldb/source/Plugins/Platform/NetBSD/NetBSDSignals.cpp
    A lldb/source/Plugins/Platform/NetBSD/NetBSDSignals.h
    M lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
    M lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h
    M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.h
    M lldb/source/Plugins/Platform/gdb-server/CMakeLists.txt
    A lldb/source/Plugins/Platform/gdb-server/GDBRemoteSignals.cpp
    A lldb/source/Plugins/Platform/gdb-server/GDBRemoteSignals.h
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    R lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp
    R lldb/source/Plugins/Process/Utility/FreeBSDSignals.h
    R lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp
    R lldb/source/Plugins/Process/Utility/GDBRemoteSignals.h
    R lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
    R lldb/source/Plugins/Process/Utility/LinuxSignals.h
    R lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp
    R lldb/source/Plugins/Process/Utility/NetBSDSignals.h
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Target/CMakeLists.txt
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/UnixSignals.cpp
    M lldb/unittests/Process/gdb-remote/CMakeLists.txt
    M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
    M lldb/unittests/Target/RemoteAwarePlatformTest.cpp

  Log Message:
  -----------
  [lldb] Move UnixSignals creation into Platform plugins

The high level goal of this change is to remove lldbTarget's dependency
on lldbPluginProcessUtility. The reason for this existing dependency is
so that we can create the appropriate UnixSignals object based on an
ArchSpec. Instead of using the ArchSpec, we can instead take advantage
of the Platform associated with the current Target.

This is accomplished by adding a new method to Platform,
CreateUnixSignals, which will create the correct UnixSignals object for
us. We then can use `Platform::GetUnixSignals` and rely on that to give
us the correct signals as needed.

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




More information about the All-commits mailing list