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

Reply via email to