[llvm-branch-commits] [lldb] e9393cd - Revert "[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183237)"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Feb 26 02:05:25 PST 2026
Author: David Spickett
Date: 2026-02-26T10:05:21Z
New Revision: e9393cd23c8d3f2ff01e55b0fef243f1d85ce29e
URL: https://github.com/llvm/llvm-project/commit/e9393cd23c8d3f2ff01e55b0fef243f1d85ce29e
DIFF: https://github.com/llvm/llvm-project/commit/e9393cd23c8d3f2ff01e55b0fef243f1d85ce29e.diff
LOG: Revert "[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183237)"
This reverts commit 85a1fe692c123683bb16dd39f50c295198e7a819.
Added:
Modified:
lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
llvm/docs/ReleaseNotes.md
Removed:
lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
################################################################################
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
More information about the llvm-branch-commits
mailing list