diff options
-rw-r--r-- | lldb/source/Plugins/Process/Utility/CMakeLists.txt | 1 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp | 34 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/Utility/NetBSDSignals.h | 31 | ||||
-rw-r--r-- | lldb/source/Target/UnixSignals.cpp | 4 |
4 files changed, 69 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/Utility/CMakeLists.txt b/lldb/source/Plugins/Process/Utility/CMakeLists.txt index b216aeed2ef..4a847b4f966 100644 --- a/lldb/source/Plugins/Process/Utility/CMakeLists.txt +++ b/lldb/source/Plugins/Process/Utility/CMakeLists.txt @@ -9,6 +9,7 @@ add_lldb_library(lldbPluginProcessUtility InferiorCallPOSIX.cpp LinuxSignals.cpp MipsLinuxSignals.cpp + NetBSDSignals.cpp RegisterContextDarwin_arm.cpp RegisterContextDarwin_arm64.cpp RegisterContextDarwin_i386.cpp diff --git a/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp b/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp new file mode 100644 index 00000000000..5dce51616c4 --- /dev/null +++ b/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp @@ -0,0 +1,34 @@ +//===-- NetBSDSignals.cpp --------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// C Includes +// C++ Includes +// Other libraries and framework includes +// Project includes +#include "NetBSDSignals.h" + +using namespace lldb_private; + +NetBSDSignals::NetBSDSignals() + : UnixSignals() +{ + Reset(); +} + +void +NetBSDSignals::Reset() +{ + UnixSignals::Reset(); + // SIGNO NAME SUPPRESS STOP NOTIFY DESCRIPTION + // ====== ============ ======== ====== ====== =================================================== + AddSignal (32, "SIGPWR", false, true , true , "power fail/restart (not reset when caught)"); +#ifdef SIGRTMIN /* SIGRTMAX */ + /* Kernel only; not exposed to userland yet */ +#endif +} diff --git a/lldb/source/Plugins/Process/Utility/NetBSDSignals.h b/lldb/source/Plugins/Process/Utility/NetBSDSignals.h new file mode 100644 index 00000000000..441402b056d --- /dev/null +++ b/lldb/source/Plugins/Process/Utility/NetBSDSignals.h @@ -0,0 +1,31 @@ +//===-- NetBSDSignals.h ----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_NetBSDSignals_H_ +#define liblldb_NetBSDSignals_H_ + +// Project includes +#include "lldb/Target/UnixSignals.h" + +namespace lldb_private { + +/// NetBSD specific set of Unix signals. +class NetBSDSignals : public UnixSignals +{ +public: + NetBSDSignals(); + +private: + void + Reset() override; +}; + +} // namespace lldb_private + +#endif // liblldb_NetBSDSignals_H_ diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp index 555b2a76a4d..8a98c21560d 100644 --- a/lldb/source/Target/UnixSignals.cpp +++ b/lldb/source/Target/UnixSignals.cpp @@ -19,6 +19,7 @@ #include "Plugins/Process/Utility/FreeBSDSignals.h" #include "Plugins/Process/Utility/LinuxSignals.h" #include "Plugins/Process/Utility/MipsLinuxSignals.h" +#include "Plugins/Process/Utility/NetBSDSignals.h" using namespace lldb_private; @@ -63,8 +64,9 @@ UnixSignals::Create(const ArchSpec &arch) } case llvm::Triple::FreeBSD: case llvm::Triple::OpenBSD: - case llvm::Triple::NetBSD: return std::make_shared<FreeBSDSignals>(); + case llvm::Triple::NetBSD: + return std::make_shared<NetBSDSignals>(); default: return std::make_shared<UnixSignals>(); } |