Author: Minsoo Choo Date: 2026-09-19T00:20:09-04:00 New Revision: 5d000962b6c1757f0634b72b93a05702ef0c0b8b
URL: https://github.com/llvm/llvm-project/commit/5d000962b6c1757f0634b72b93a05702ef0c0b8b DIFF: https://github.com/llvm/llvm-project/commit/5d000962b6c1757f0634b72b93a05702ef0c0b8b.diff LOG: Revert "[lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores…" This reverts commit 3088d0aace62a33925ade51e238b9a1ae7ff30c0. Added: Modified: lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h Removed: ################################################################################ diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp index e99f97f2b0cd6..cfdf742ab5230 100644 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp +++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp @@ -18,7 +18,6 @@ #include "lldb/Utility/StreamString.h" #include "llvm/Support/Error.h" -#include "llvm/Support/SaveAndRestore.h" #include "Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.h" #include "ProcessFreeBSDKernelCore.h" @@ -135,7 +134,9 @@ lldb::ProcessSP ProcessFreeBSDKernelCore::CreateInstance( ModuleSP executable = target_sp->GetExecutableModule(); if (crash_file && !can_connect && executable) { char errbuf[_POSIX2_LINE_MAX]; - kvm_t *kvm = OpenKVM(executable, *crash_file, O_RDONLY, errbuf); + kvm_t *kvm = + kvm_open2(executable->GetFileSpec().GetPath().c_str(), + crash_file->GetPath().c_str(), O_RDONLY, errbuf, nullptr); if (kvm) { kvm_close(kvm); return std::make_shared<ProcessFreeBSDKernelCore>(target_sp, listener_sp, @@ -195,9 +196,8 @@ Status ProcessFreeBSDKernelCore::DoLoadCore() { "ProcessFreeBSDKernelCore: no executable module set on target"); char errbuf[_POSIX2_LINE_MAX]; - const int flags = - GetGlobalPluginProperties().GetReadOnly() ? O_RDONLY : O_RDWR; - m_kvm = OpenKVM(executable, GetCoreFile(), flags, errbuf); + m_kvm = kvm_open2(executable->GetFileSpec().GetPath().c_str(), + GetCoreFile().GetPath().c_str(), O_RDWR, errbuf, nullptr); if (!m_kvm) { LLDB_LOGF(GetLog(LLDBLog::Process), "FreeBSD-Kernel-Core: %s", errbuf); @@ -551,34 +551,6 @@ lldb::addr_t ProcessFreeBSDKernelCore::FindSymbol(const char *name) { return sym ? sym->GetLoadAddress(&GetTarget()) : LLDB_INVALID_ADDRESS; } -int ProcessFreeBSDKernelCore::ResolveKVMSymbol(const char *name, - kvaddr_t *value) { - if (!g_kvm_kernel_module) - return 1; - - const Symbol *symbol = - g_kvm_kernel_module->FindFirstSymbolWithNameAndType(ConstString(name)); - if (!symbol) - return 1; - - lldb::addr_t address = symbol->GetFileAddress(); - if (address == LLDB_INVALID_ADDRESS) - return 1; - - *value = address; - return 0; -} - -kvm_t *ProcessFreeBSDKernelCore::OpenKVM(const ModuleSP &kernel_module, - const FileSpec &core_file, int flags, - char *errbuf) { - llvm::SaveAndRestore resolver_module(g_kvm_kernel_module, - kernel_module.get()); - return kvm_open2(kernel_module->GetFileSpec().GetPath().c_str(), - core_file.GetPath().c_str(), flags, errbuf, - ResolveKVMSymbol); -} - void ProcessFreeBSDKernelCore::SetKernelDisplacement() { kssize_t displacement = kvm_kerndisp(m_kvm); diff --git a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h index 3105b01a42eec..477ae77791e51 100644 --- a/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h +++ b/lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h @@ -10,7 +10,6 @@ #define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNELCORE_H #include "lldb/Core/Debugger.h" -#include "lldb/Core/Module.h" #include "lldb/Target/PostMortemProcess.h" #include <kvm.h> @@ -69,15 +68,6 @@ class ProcessFreeBSDKernelCore : public lldb_private::PostMortemProcess { lldb::addr_t FindSymbol(const char *name); private: - static inline thread_local lldb_private::Module *g_kvm_kernel_module = - nullptr; - - static int ResolveKVMSymbol(const char *name, kvaddr_t *value); - - static kvm_t *OpenKVM(const lldb::ModuleSP &kernel_module, - const lldb_private::FileSpec &core_file, int flags, - char *errbuf); - void SetKernelDisplacement(); void PrintUnreadMessage(); _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
