llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Minsoo Choo (mchoo7) <details> <summary>Changes</summary> Currently, code that makes use of `<OS>Signals` classes have to depend on lldbPluginProcessUtility library although its base class `UnixSignals` is in `lldbTarget`. This creates unnecessary dependency between the two libraries and since lldbPluginProcessUtility already has dependency issues, move `<OS>Signals` to lldbTarget along with `UnixSignals` class. Assisted-by: GPT --- Full diff: https://github.com/llvm/llvm-project/pull/221579.diff 16 Files Affected: - (renamed) lldb/include/lldb/Target/FreeBSDSignals.h (+3-3) - (renamed) lldb/include/lldb/Target/LinuxSignals.h (+3-3) - (renamed) lldb/include/lldb/Target/NetBSDSignals.h (+3-3) - (renamed) lldb/include/lldb/Target/OpenBSDSignals.h (+3-3) - (modified) lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp (+1-1) - (modified) lldb/source/Plugins/Process/Utility/CMakeLists.txt (-4) - (modified) lldb/source/Target/CMakeLists.txt (+4-1) - (renamed) lldb/source/Target/FreeBSDSignals.cpp (+1-1) - (renamed) lldb/source/Target/LinuxSignals.cpp (+1-1) - (renamed) lldb/source/Target/NetBSDSignals.cpp (+1-1) - (renamed) lldb/source/Target/OpenBSDSignals.cpp (+1-1) - (modified) lldb/source/Target/UnixSignals.cpp (+4-4) - (modified) lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp (+1-1) - (modified) lldb/unittests/Signals/UnixSignalsTest.cpp (+23) - (modified) llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn (-4) - (modified) llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn (+4-1) ``````````diff diff --git a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h b/lldb/include/lldb/Target/FreeBSDSignals.h similarity index 76% rename from lldb/source/Plugins/Process/Utility/FreeBSDSignals.h rename to lldb/include/lldb/Target/FreeBSDSignals.h index c4c810e549854..d97a65ddca7ed 100644 --- a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h +++ b/lldb/include/lldb/Target/FreeBSDSignals.h @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_FREEBSDSIGNALS_H -#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_FREEBSDSIGNALS_H +#ifndef LLDB_TARGET_FREEBSDSIGNALS_H +#define LLDB_TARGET_FREEBSDSIGNALS_H #include "lldb/Target/UnixSignals.h" @@ -24,4 +24,4 @@ class FreeBSDSignals : public UnixSignals { } // namespace lldb_private -#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_FREEBSDSIGNALS_H +#endif // LLDB_TARGET_FREEBSDSIGNALS_H diff --git a/lldb/source/Plugins/Process/Utility/LinuxSignals.h b/lldb/include/lldb/Target/LinuxSignals.h similarity index 77% rename from lldb/source/Plugins/Process/Utility/LinuxSignals.h rename to lldb/include/lldb/Target/LinuxSignals.h index 32c4744a96d04..02edad97a8adf 100644 --- a/lldb/source/Plugins/Process/Utility/LinuxSignals.h +++ b/lldb/include/lldb/Target/LinuxSignals.h @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXSIGNALS_H -#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXSIGNALS_H +#ifndef LLDB_TARGET_LINUXSIGNALS_H +#define LLDB_TARGET_LINUXSIGNALS_H #include "lldb/Target/UnixSignals.h" @@ -24,4 +24,4 @@ class LinuxSignals : public UnixSignals { } // namespace lldb_private -#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LINUXSIGNALS_H +#endif // LLDB_TARGET_LINUXSIGNALS_H diff --git a/lldb/source/Plugins/Process/Utility/NetBSDSignals.h b/lldb/include/lldb/Target/NetBSDSignals.h similarity index 77% rename from lldb/source/Plugins/Process/Utility/NetBSDSignals.h rename to lldb/include/lldb/Target/NetBSDSignals.h index 94bad7c19a499..28ae90e1f3d4b 100644 --- a/lldb/source/Plugins/Process/Utility/NetBSDSignals.h +++ b/lldb/include/lldb/Target/NetBSDSignals.h @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NETBSDSIGNALS_H -#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NETBSDSIGNALS_H +#ifndef LLDB_TARGET_NETBSDSIGNALS_H +#define LLDB_TARGET_NETBSDSIGNALS_H #include "lldb/Target/UnixSignals.h" @@ -24,4 +24,4 @@ class NetBSDSignals : public UnixSignals { } // namespace lldb_private -#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NETBSDSIGNALS_H +#endif // LLDB_TARGET_NETBSDSIGNALS_H diff --git a/lldb/source/Plugins/Process/Utility/OpenBSDSignals.h b/lldb/include/lldb/Target/OpenBSDSignals.h similarity index 76% rename from lldb/source/Plugins/Process/Utility/OpenBSDSignals.h rename to lldb/include/lldb/Target/OpenBSDSignals.h index 1e2b1fa9d26db..f1ef3c6c4803d 100644 --- a/lldb/source/Plugins/Process/Utility/OpenBSDSignals.h +++ b/lldb/include/lldb/Target/OpenBSDSignals.h @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_OPENBSDSIGNALS_H -#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_OPENBSDSIGNALS_H +#ifndef LLDB_TARGET_OPENBSDSIGNALS_H +#define LLDB_TARGET_OPENBSDSIGNALS_H #include "lldb/Target/UnixSignals.h" @@ -24,4 +24,4 @@ class OpenBSDSignals : public UnixSignals { } // namespace lldb_private -#endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_OPENBSDSIGNALS_H +#endif // LLDB_TARGET_OPENBSDSIGNALS_H diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp index 799fe5eec29bc..66d2f2db37aa7 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp @@ -14,13 +14,13 @@ #include <sys/utsname.h> #endif -#include "Plugins/Process/Utility/LinuxSignals.h" #include "Plugins/Process/Utility/lldb-riscv-register-enums.h" #include "Utility/ARM64_DWARF_Registers.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/PluginManager.h" #include "lldb/Host/HostInfo.h" #include "lldb/Symbol/UnwindPlan.h" +#include "lldb/Target/LinuxSignals.h" #include "lldb/Target/Process.h" #include "lldb/Target/Target.h" #include "lldb/Utility/ArchSpec.h" diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt index 90cf4d20bbc07..666aeb3bb343d 100644 --- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt +++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt @@ -3,13 +3,11 @@ set_property(DIRECTORY PROPERTY LLDB_PLUGIN_KIND ProcessUtility) add_lldb_library(lldbPluginProcessUtility AuxVector.cpp - FreeBSDSignals.cpp GDBRemoteSignals.cpp HistoryThread.cpp HistoryUnwind.cpp InferiorCallPOSIX.cpp LinuxProcMaps.cpp - LinuxSignals.cpp MemoryTagManagerAArch64MTE.cpp NativeProcessSoftwareSingleStep.cpp NativeRegisterContextDBReg.cpp @@ -18,8 +16,6 @@ add_lldb_library(lldbPluginProcessUtility NativeRegisterContextDBReg_loongarch.cpp NativeRegisterContextDBReg_x86.cpp NativeRegisterContextRegisterInfo.cpp - NetBSDSignals.cpp - OpenBSDSignals.cpp RegisterContext_x86.cpp RegisterContextDarwin_arm.cpp RegisterContextDarwin_arm64.cpp diff --git a/lldb/source/Target/CMakeLists.txt b/lldb/source/Target/CMakeLists.txt index 2874394c400aa..7cefdd8081888 100644 --- a/lldb/source/Target/CMakeLists.txt +++ b/lldb/source/Target/CMakeLists.txt @@ -17,19 +17,23 @@ add_lldb_library(lldbTarget DynamicRegisterInfo.cpp CoreFileMemoryRanges.cpp ExecutionContext.cpp + FreeBSDSignals.cpp InstrumentationRuntime.cpp InstrumentationRuntimeStopInfo.cpp JITLoader.cpp JITLoaderList.cpp Language.cpp LanguageRuntime.cpp + LinuxSignals.cpp Memory.cpp MemoryHistory.cpp MemoryRegionInfo.cpp MemoryRegionInfoCache.cpp MemoryTagMap.cpp ModuleCache.cpp + NetBSDSignals.cpp OperatingSystem.cpp + OpenBSDSignals.cpp PathMappingList.cpp Platform.cpp Process.cpp @@ -103,7 +107,6 @@ add_lldb_library(lldbTarget lldbSymbol lldbUtility lldbValueObject - lldbPluginProcessUtility ) add_dependencies(lldbTarget diff --git a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp b/lldb/source/Target/FreeBSDSignals.cpp similarity index 99% rename from lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp rename to lldb/source/Target/FreeBSDSignals.cpp index ebf197339446d..dfba59c45fc64 100644 --- a/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp +++ b/lldb/source/Target/FreeBSDSignals.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "FreeBSDSignals.h" +#include "lldb/Target/FreeBSDSignals.h" #ifdef __FreeBSD__ #include <csignal> diff --git a/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp b/lldb/source/Target/LinuxSignals.cpp similarity index 99% rename from lldb/source/Plugins/Process/Utility/LinuxSignals.cpp rename to lldb/source/Target/LinuxSignals.cpp index a71bde9532915..2034fdfdeefae 100644 --- a/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp +++ b/lldb/source/Target/LinuxSignals.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "LinuxSignals.h" +#include "lldb/Target/LinuxSignals.h" // mips-linux debugging is not supported and mips uses different numbers for // some signals (e.g. SIGBUS) on linux, so we skip the static checks below. The diff --git a/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp b/lldb/source/Target/NetBSDSignals.cpp similarity index 99% rename from lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp rename to lldb/source/Target/NetBSDSignals.cpp index 6e4e5038566b3..7df78ef46c4ff 100644 --- a/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp +++ b/lldb/source/Target/NetBSDSignals.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "NetBSDSignals.h" +#include "lldb/Target/NetBSDSignals.h" #ifdef __NetBSD__ #include <csignal> diff --git a/lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp b/lldb/source/Target/OpenBSDSignals.cpp similarity index 98% rename from lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp rename to lldb/source/Target/OpenBSDSignals.cpp index 48263235126c0..fbc86f46e59e4 100644 --- a/lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp +++ b/lldb/source/Target/OpenBSDSignals.cpp @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "OpenBSDSignals.h" +#include "lldb/Target/OpenBSDSignals.h" #ifdef __OpenBSD__ #include <csignal> diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp index 881431f4631e5..63e2d98001bbc 100644 --- a/lldb/source/Target/UnixSignals.cpp +++ b/lldb/source/Target/UnixSignals.cpp @@ -7,11 +7,11 @@ //===----------------------------------------------------------------------===// #include "lldb/Target/UnixSignals.h" -#include "Plugins/Process/Utility/FreeBSDSignals.h" -#include "Plugins/Process/Utility/LinuxSignals.h" -#include "Plugins/Process/Utility/NetBSDSignals.h" -#include "Plugins/Process/Utility/OpenBSDSignals.h" #include "lldb/Host/HostInfo.h" +#include "lldb/Target/FreeBSDSignals.h" +#include "lldb/Target/LinuxSignals.h" +#include "lldb/Target/NetBSDSignals.h" +#include "lldb/Target/OpenBSDSignals.h" #include "lldb/Utility/ArchSpec.h" #include <optional> #include <sstream> diff --git a/lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp b/lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp index b28b8013bcdc7..7bf9eca0efcaf 100644 --- a/lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp +++ b/lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp @@ -8,9 +8,9 @@ #include "Plugins/Process/gdb-remote/GDBRemoteClientBase.h" #include "GDBRemoteTestUtils.h" -#include "Plugins/Process/Utility/LinuxSignals.h" #include "Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h" #include "lldb/Host/ConnectionFileDescriptor.h" +#include "lldb/Target/LinuxSignals.h" #include "lldb/Utility/GDBRemote.h" #include "lldb/Utility/Listener.h" #include "llvm/ADT/StringRef.h" diff --git a/lldb/unittests/Signals/UnixSignalsTest.cpp b/lldb/unittests/Signals/UnixSignalsTest.cpp index 3bd4aedd600a3..caedf5635638f 100644 --- a/lldb/unittests/Signals/UnixSignalsTest.cpp +++ b/lldb/unittests/Signals/UnixSignalsTest.cpp @@ -10,11 +10,34 @@ #include "gtest/gtest.h" #include "lldb/Target/UnixSignals.h" +#include "lldb/Utility/ArchSpec.h" #include "llvm/Support/FormatVariadic.h" using namespace lldb; using namespace lldb_private; +TEST(UnixSignalsTest, FactoryUsesTargetOS) { + struct TestCase { + const char *triple; + int signo; + const char *name; + }; + const TestCase test_cases[] = { + {"x86_64-unknown-linux", 34, "SIGRTMIN"}, + {"x86_64-unknown-freebsd", 33, "SIGLIBRT"}, + {"x86_64-unknown-netbsd", 32, "SIGPWR"}, + {"x86_64-unknown-openbsd", 32, "SIGTHR"}, + }; + + for (const TestCase &test : test_cases) { + ArchSpec arch(test.triple); + lldb::UnixSignalsSP signals = UnixSignals::Create(arch); + ASSERT_TRUE(signals) << test.triple; + EXPECT_EQ(test.name, signals->GetSignalAsStringRef(test.signo)) + << test.triple; + } +} + class TestSignals : public UnixSignals { public: TestSignals() { diff --git a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn index 09c0b85686053..c3f9f64c6a463 100644 --- a/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn +++ b/llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn @@ -20,13 +20,11 @@ static_library("Utility") { include_dirs = [ "//lldb/source" ] sources = [ "AuxVector.cpp", - "FreeBSDSignals.cpp", "GDBRemoteSignals.cpp", "HistoryThread.cpp", "HistoryUnwind.cpp", "InferiorCallPOSIX.cpp", "LinuxProcMaps.cpp", - "LinuxSignals.cpp", "MemoryTagManagerAArch64MTE.cpp", "NativeProcessSoftwareSingleStep.cpp", "NativeRegisterContextDBReg.cpp", @@ -35,8 +33,6 @@ static_library("Utility") { "NativeRegisterContextDBReg_loongarch.cpp", "NativeRegisterContextDBReg_x86.cpp", "NativeRegisterContextRegisterInfo.cpp", - "NetBSDSignals.cpp", - "OpenBSDSignals.cpp", "RegisterContextDarwin_arm.cpp", "RegisterContextDarwin_arm64.cpp", "RegisterContextDarwin_riscv32.cpp", diff --git a/llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn b/llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn index 999879f574b0f..2eee670292172 100644 --- a/llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn +++ b/llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn @@ -24,7 +24,6 @@ static_library("Target") { "//lldb/source/Expression", "//lldb/source/Host", "//lldb/source/Interpreter", - "//lldb/source/Plugins/Process/Utility", "//lldb/source/Symbol", "//lldb/source/Utility", "//lldb/source/ValueObject", @@ -39,18 +38,22 @@ static_library("Target") { "CoreFileMemoryRanges.cpp", "DynamicRegisterInfo.cpp", "ExecutionContext.cpp", + "FreeBSDSignals.cpp", "InstrumentationRuntime.cpp", "InstrumentationRuntimeStopInfo.cpp", "JITLoader.cpp", "JITLoaderList.cpp", "Language.cpp", "LanguageRuntime.cpp", + "LinuxSignals.cpp", "Memory.cpp", "MemoryHistory.cpp", "MemoryRegionInfo.cpp", "MemoryRegionInfoCache.cpp", "MemoryTagMap.cpp", "ModuleCache.cpp", + "NetBSDSignals.cpp", + "OpenBSDSignals.cpp", "OperatingSystem.cpp", "PathMappingList.cpp", "Platform.cpp", `````````` </details> https://github.com/llvm/llvm-project/pull/221579 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
