llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: David Spickett (DavidSpickett) <details> <summary>Changes</summary> Reverts llvm/llvm-project#<!-- -->183237 This was landed without addressing review comments. --- Full diff: https://github.com/llvm/llvm-project/pull/183485.diff 5 Files Affected: - (modified) lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt (-12) - (modified) lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp (+2-69) - (modified) lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h (-6) - (removed) lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td (-8) - (modified) llvm/docs/ReleaseNotes.md (-2) ``````````diff diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt index d847a2f584bc6..1cb96b7c3f523 100644 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt +++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt @@ -1,11 +1,3 @@ -lldb_tablegen(ProcessFreeBSDKernelCoreProperties.inc -gen-lldb-property-defs - SOURCE ProcessFreeBSDKernelCoreProperties.td - TARGET LLDBPluginProcessFreeBSDKernelCorePropertiesGen) - -lldb_tablegen(ProcessFreeBSDKernelCorePropertiesEnum.inc -gen-lldb-property-enum-defs - SOURCE ProcessFreeBSDKernelCoreProperties.td - TARGET LLDBPluginProcessFreeBSDKernelCorePropertiesEnumGen) - add_lldb_library(lldbPluginProcessFreeBSDKernelCore PLUGIN ProcessFreeBSDKernelCore.cpp RegisterContextFreeBSDKernelCore_arm.cpp @@ -21,7 +13,3 @@ add_lldb_library(lldbPluginProcessFreeBSDKernelCore PLUGIN lldbTarget kvm ) - -add_dependencies(lldbPluginProcessFreeBSDKernelCore - LLDBPluginProcessFreeBSDKernelCorePropertiesGen - LLDBPluginProcessFreeBSDKernelCorePropertiesEnumGen) diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp index b1f8dae481944..ebbf89669cc40 100644 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp +++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "lldb/Core/Debugger.h" #include "lldb/Core/Module.h" #include "lldb/Core/PluginManager.h" #include "lldb/Interpreter/CommandInterpreter.h" @@ -24,42 +25,6 @@ using namespace lldb_private; LLDB_PLUGIN_DEFINE(ProcessFreeBSDKernelCore) -namespace { - -#define LLDB_PROPERTIES_processfreebsdkernelcore -#include "ProcessFreeBSDKernelCoreProperties.inc" - -enum { -#define LLDB_PROPERTIES_processfreebsdkernelcore -#include "ProcessFreeBSDKernelCorePropertiesEnum.inc" -}; - -class PluginProperties : public Properties { -public: - static llvm::StringRef GetSettingName() { - return ProcessFreeBSDKernelCore::GetPluginNameStatic(); - } - - PluginProperties() : Properties() { - m_collection_sp = std::make_shared<OptionValueProperties>(GetSettingName()); - m_collection_sp->Initialize(g_processfreebsdkernelcore_properties_def); - } - - ~PluginProperties() override = default; - - bool GetReadOnly() const { - const uint32_t idx = ePropertyReadOnly; - return GetPropertyAtIndexAs<bool>(idx, true); - } -}; - -} // namespace - -static PluginProperties &GetGlobalPluginProperties() { - static PluginProperties g_settings; - return g_settings; -} - ProcessFreeBSDKernelCore::ProcessFreeBSDKernelCore(lldb::TargetSP target_sp, ListenerSP listener_sp, kvm_t *kvm, @@ -91,22 +56,10 @@ void ProcessFreeBSDKernelCore::Initialize() { llvm::call_once(g_once_flag, []() { PluginManager::RegisterPlugin(GetPluginNameStatic(), - GetPluginDescriptionStatic(), CreateInstance, - DebuggerInitialize); + GetPluginDescriptionStatic(), CreateInstance); }); } -void ProcessFreeBSDKernelCore::DebuggerInitialize(Debugger &debugger) { - if (!PluginManager::GetSettingForProcessPlugin( - debugger, PluginProperties::GetSettingName())) { - const bool is_global_setting = true; - PluginManager::CreateSettingForProcessPlugin( - debugger, GetGlobalPluginProperties().GetValueProperties(), - "Properties for the freebsd-kernel process plug-in.", - is_global_setting); - } -} - void ProcessFreeBSDKernelCore::Terminate() { PluginManager::UnregisterPlugin(ProcessFreeBSDKernelCore::CreateInstance); } @@ -137,26 +90,6 @@ void ProcessFreeBSDKernelCore::RefreshStateAfterStop() { } } -size_t ProcessFreeBSDKernelCore::DoWriteMemory(lldb::addr_t addr, - const void *buf, size_t size, - Status &error) { - if (GetGlobalPluginProperties().GetReadOnly()) { - error = Status::FromErrorString( - "Memory writes are disabled in read-only mode. Disable with 'settings " - "set plugin.process.freebsd-kernel-core.read-only false'"); - return 0; - } - - ssize_t rd = 0; - rd = kvm_write(m_kvm, addr, buf, size); - if (rd < 0 || static_cast<size_t>(rd) != size) { - error = Status::FromErrorStringWithFormat("Writing memory failed: %s", - GetError()); - return rd > 0 ? rd : 0; - } - return rd; -} - bool ProcessFreeBSDKernelCore::DoUpdateThreadList(ThreadList &old_thread_list, ThreadList &new_thread_list) { if (old_thread_list.GetSize(false) == 0) { diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h index 67cfae13d2a4d..c677c236ddc21 100644 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h +++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h @@ -9,7 +9,6 @@ #ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNELCORE_H #define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNELCORE_H -#include "lldb/Core/Debugger.h" #include "lldb/Target/PostMortemProcess.h" #include <kvm.h> @@ -28,8 +27,6 @@ class ProcessFreeBSDKernelCore : public lldb_private::PostMortemProcess { static void Initialize(); - static void DebuggerInitialize(lldb_private::Debugger &debugger); - static void Terminate(); static llvm::StringRef GetPluginNameStatic() { return "freebsd-kernel-core"; } @@ -51,9 +48,6 @@ class ProcessFreeBSDKernelCore : public lldb_private::PostMortemProcess { void RefreshStateAfterStop() override; - size_t DoWriteMemory(lldb::addr_t addr, const void *buf, size_t size, - lldb_private::Status &error) override; - protected: bool DoUpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list) override; diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td deleted file mode 100644 index 30986bf71aab4..0000000000000 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td +++ /dev/null @@ -1,8 +0,0 @@ -include "../../../../include/lldb/Core/PropertiesBase.td" - -let Definition = "processfreebsdkernelcore", Path = "plugin.process.freebsd-kernel-core" in { - def ReadOnly: Property<"read-only", "Boolean">, - Global, - DefaultTrue, - Desc<"Disable memory writes to the core. This is enabled by default for safety.">; -} diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md index aee55857599c6..4d0ddf730844f 100644 --- a/llvm/docs/ReleaseNotes.md +++ b/llvm/docs/ReleaseNotes.md @@ -226,8 +226,6 @@ Changes to LLDB * Threads are listed in incrmental order by pid then by tid. * Unread kernel messages saved in msgbufp are now printed when lldb starts. This information is printed only when lldb is in the interactive mode (i.e. not in batch mode). -* Memory writes are currently disabled. You can enable them with - `settings set plugin.process.freebsd-kernel-core.read-only false`. ### Linux `````````` </details> https://github.com/llvm/llvm-project/pull/183485 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
