https://github.com/weliveindetail updated 
https://github.com/llvm/llvm-project/pull/185032

From 6ee8975d7f796cdb560ef4af2021ad3bc5c4aba6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <[email protected]>
Date: Fri, 6 Mar 2026 17:10:04 +0100
Subject: [PATCH 1/2] Revert "[lldb] Fix lldb-x86_64-win bot after 454eb8bc0ac
 (#185004)"

This reverts commit bc077f52c9fe20f60f1319eee0d704e5265fde1b.
---
 lldb/test/API/symstore/Makefile             | 2 ++
 lldb/test/API/symstore/TestSymStoreLocal.py | 7 ++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lldb/test/API/symstore/Makefile b/lldb/test/API/symstore/Makefile
index c9319d6e6888a..6279aee698dad 100644
--- a/lldb/test/API/symstore/Makefile
+++ b/lldb/test/API/symstore/Makefile
@@ -1,2 +1,4 @@
+MAKE_PDB := YES
+
 C_SOURCES := main.c
 include Makefile.rules
diff --git a/lldb/test/API/symstore/TestSymStoreLocal.py 
b/lldb/test/API/symstore/TestSymStoreLocal.py
index 154af876fea3f..f45e368613847 100644
--- a/lldb/test/API/symstore/TestSymStoreLocal.py
+++ b/lldb/test/API/symstore/TestSymStoreLocal.py
@@ -71,11 +71,12 @@ class SymStoreLocalTests(TestBase):
     TEST_WITH_PDB_DEBUG_INFO = True
 
     def build_inferior(self):
-        if self.getDebugInfo() != "pdb":
-            self.skipTest("Non-PDB debug info variants not yet supported")
         self.build()
         exe_file = "a.out"
-        sym_file = "a.pdb"
+        if self.getDebugInfo() == "pdb":
+            sym_file = "a.pdb"
+        else:
+            self.skipTest("Non-PDB debug info variants not yet supported")
         self.assertTrue(os.path.isfile(self.getBuildArtifact(exe_file)))
         self.assertTrue(os.path.isfile(self.getBuildArtifact(sym_file)))
         return exe_file, sym_file

From 68a932825a55888481144140ef7899b73d477274 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <[email protected]>
Date: Fri, 6 Mar 2026 17:14:26 +0100
Subject: [PATCH 2/2] Revert "[lldb] Initial plugin and test for
 SymbolLocatorSymStore (#183302)"

This reverts commit 454eb8bc0ac2a3a3e843440c7f45f3fdb32b40b3.
---
 .../ObjectFile/PECOFF/ObjectFilePECOFF.cpp    |  21 ---
 .../ObjectFile/PECOFF/ObjectFilePECOFF.h      |   2 -
 .../Plugins/SymbolLocator/CMakeLists.txt      |   1 -
 .../SymbolLocator/SymStore/CMakeLists.txt     |  20 ---
 .../SymStore/SymbolLocatorSymStore.cpp        | 147 ------------------
 .../SymStore/SymbolLocatorSymStore.h          |  50 ------
 .../SymbolLocatorSymStoreProperties.td        |   7 -
 .../PECOFF/SymbolVendorPECOFF.cpp             |  48 +++---
 lldb/test/API/symstore/Makefile               |   4 -
 lldb/test/API/symstore/TestSymStoreLocal.py   | 122 ---------------
 lldb/test/API/symstore/main.c                 |   5 -
 11 files changed, 23 insertions(+), 404 deletions(-)
 delete mode 100644 lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
 delete mode 100644 
lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
 delete mode 100644 
lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
 delete mode 100644 
lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td
 delete mode 100644 lldb/test/API/symstore/Makefile
 delete mode 100644 lldb/test/API/symstore/TestSymStoreLocal.py
 delete mode 100644 lldb/test/API/symstore/main.c

diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp 
b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
index cec47d96b33d2..3a17b4c46a788 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
@@ -1108,27 +1108,6 @@ std::optional<FileSpec> ObjectFilePECOFF::GetDebugLink() 
{
   return std::nullopt;
 }
 
-std::optional<FileSpec> ObjectFilePECOFF::GetPDBPath() {
-  llvm::StringRef pdb_file;
-  const llvm::codeview::DebugInfo *pdb_info = nullptr;
-  if (llvm::Error Err = m_binary->getDebugPDBInfo(pdb_info, pdb_file)) {
-    // DebugInfo section is corrupt.
-    Log *log = GetLog(LLDBLog::Object);
-    llvm::StringRef file = m_binary->getFileName();
-    LLDB_LOG_ERROR(
-        log, std::move(Err),
-        "Failed to read Codeview record for PDB debug info file ({1}): {0}",
-        file);
-    return std::nullopt;
-  }
-  if (pdb_file.empty()) {
-    // No DebugInfo section present.
-    return std::nullopt;
-  }
-  return FileSpec(pdb_file, FileSpec::GuessPathStyle(pdb_file).value_or(
-                                FileSpec::Style::native));
-}
-
 uint32_t ObjectFilePECOFF::ParseDependentModules() {
   ModuleSP module_sp(GetModule());
   if (!module_sp)
diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h 
b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
index 30bd672dc68f8..8002e70e604bb 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
@@ -130,8 +130,6 @@ class ObjectFilePECOFF : public lldb_private::ObjectFile {
   /// contains it.
   std::optional<lldb_private::FileSpec> GetDebugLink();
 
-  std::optional<lldb_private::FileSpec> GetPDBPath();
-
   uint32_t GetDependentModules(lldb_private::FileSpecList &files) override;
 
   lldb_private::Address GetEntryPointAddress() override;
diff --git a/lldb/source/Plugins/SymbolLocator/CMakeLists.txt 
b/lldb/source/Plugins/SymbolLocator/CMakeLists.txt
index 9b9ec470b86a9..3b466f71dca58 100644
--- a/lldb/source/Plugins/SymbolLocator/CMakeLists.txt
+++ b/lldb/source/Plugins/SymbolLocator/CMakeLists.txt
@@ -6,7 +6,6 @@ set_property(DIRECTORY PROPERTY LLDB_PLUGIN_KIND SymbolLocator)
 # prevents an unstripped binary from being requested from the Debuginfod
 # provider.
 add_subdirectory(Debuginfod)
-add_subdirectory(SymStore)
 add_subdirectory(Default)
 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
   add_subdirectory(DebugSymbols)
diff --git a/lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt 
b/lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
deleted file mode 100644
index b0da27f26c6a8..0000000000000
--- a/lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-lldb_tablegen(SymbolLocatorSymStoreProperties.inc -gen-lldb-property-defs
-  SOURCE SymbolLocatorSymStoreProperties.td
-  TARGET LLDBPluginSymbolLocatorSymStorePropertiesGen)
-
-lldb_tablegen(SymbolLocatorSymStorePropertiesEnum.inc 
-gen-lldb-property-enum-defs
-  SOURCE SymbolLocatorSymStoreProperties.td
-  TARGET LLDBPluginSymbolLocatorSymStorePropertiesEnumGen)
-
-add_lldb_library(lldbPluginSymbolLocatorSymStore PLUGIN
-  SymbolLocatorSymStore.cpp
-
-  LINK_LIBS
-    lldbCore
-    lldbHost
-    lldbSymbol
-  )
-
-add_dependencies(lldbPluginSymbolLocatorSymStore
-  LLDBPluginSymbolLocatorSymStorePropertiesGen
-  LLDBPluginSymbolLocatorSymStorePropertiesEnumGen)
diff --git 
a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp 
b/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
deleted file mode 100644
index d008a7d3e8e9a..0000000000000
--- a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SymbolLocatorSymStore.h"
-
-#include "lldb/Core/ModuleList.h"
-#include "lldb/Core/PluginManager.h"
-#include "lldb/Host/FileSystem.h"
-#include "lldb/Interpreter/OptionValueString.h"
-#include "lldb/Utility/Args.h"
-#include "lldb/Utility/LLDBLog.h"
-#include "lldb/Utility/Log.h"
-#include "lldb/Utility/UUID.h"
-
-#include "llvm/ADT/StringExtras.h"
-#include "llvm/Support/Endian.h"
-#include "llvm/Support/FileSystem.h"
-#include "llvm/Support/Path.h"
-
-using namespace lldb;
-using namespace lldb_private;
-
-LLDB_PLUGIN_DEFINE(SymbolLocatorSymStore)
-
-namespace {
-
-#define LLDB_PROPERTIES_symbollocatorsymstore
-#include "SymbolLocatorSymStoreProperties.inc"
-
-enum {
-#define LLDB_PROPERTIES_symbollocatorsymstore
-#include "SymbolLocatorSymStorePropertiesEnum.inc"
-};
-
-class PluginProperties : public Properties {
-public:
-  static llvm::StringRef GetSettingName() {
-    return SymbolLocatorSymStore::GetPluginNameStatic();
-  }
-
-  PluginProperties() {
-    m_collection_sp = 
std::make_shared<OptionValueProperties>(GetSettingName());
-    m_collection_sp->Initialize(g_symbollocatorsymstore_properties_def);
-  }
-
-  Args GetURLs() const {
-    Args urls;
-    m_collection_sp->GetPropertyAtIndexAsArgs(ePropertySymStoreURLs, urls);
-    return urls;
-  }
-};
-
-} // namespace
-
-static PluginProperties &GetGlobalPluginProperties() {
-  static PluginProperties g_settings;
-  return g_settings;
-}
-
-SymbolLocatorSymStore::SymbolLocatorSymStore() : SymbolLocator() {}
-
-void SymbolLocatorSymStore::Initialize() {
-  // First version can only locate PDB in local SymStore (no download yet).
-  PluginManager::RegisterPlugin(
-      GetPluginNameStatic(), GetPluginDescriptionStatic(), CreateInstance,
-      nullptr, LocateExecutableSymbolFile, nullptr, nullptr,
-      SymbolLocatorSymStore::DebuggerInitialize);
-}
-
-void SymbolLocatorSymStore::DebuggerInitialize(Debugger &debugger) {
-  if (!PluginManager::GetSettingForSymbolLocatorPlugin(
-          debugger, PluginProperties::GetSettingName())) {
-    constexpr bool is_global_setting = true;
-    PluginManager::CreateSettingForSymbolLocatorPlugin(
-        debugger, GetGlobalPluginProperties().GetValueProperties(),
-        "Properties for the SymStore Symbol Locator plug-in.",
-        is_global_setting);
-  }
-}
-
-void SymbolLocatorSymStore::Terminate() {
-  PluginManager::UnregisterPlugin(CreateInstance);
-}
-
-llvm::StringRef SymbolLocatorSymStore::GetPluginDescriptionStatic() {
-  return "Symbol locator for PDB in SymStore";
-}
-
-SymbolLocator *SymbolLocatorSymStore::CreateInstance() {
-  return new SymbolLocatorSymStore();
-}
-
-// RSDS entries store identity as a 20-byte UUID composed of 16-byte GUID and
-// 4-byte age:
-//   12345678-1234-5678-9ABC-DEF012345678-00000001
-//
-// SymStore key is a string with no separators and age as decimal:
-//   12345678123456789ABCDEF0123456781
-//
-static std::string formatSymStoreKey(const UUID &uuid) {
-  llvm::ArrayRef<uint8_t> bytes = uuid.GetBytes();
-  uint32_t age = llvm::support::endian::read32be(bytes.data() + 16);
-  constexpr bool LowerCase = false;
-  return llvm::toHex(bytes.slice(0, 16), LowerCase) + std::to_string(age);
-}
-
-std::optional<FileSpec> SymbolLocatorSymStore::LocateExecutableSymbolFile(
-    const ModuleSpec &module_spec, const FileSpecList &default_search_paths) {
-  const UUID &uuid = module_spec.GetUUID();
-  if (!uuid.IsValid() ||
-      !ModuleList::GetGlobalModuleListProperties().GetEnableExternalLookup())
-    return {};
-
-  Log *log = GetLog(LLDBLog::Symbols);
-  std::string pdb_name =
-      module_spec.GetSymbolFileSpec().GetFilename().GetStringRef().str();
-  if (pdb_name.empty()) {
-    LLDB_LOGV(log, "Failed to resolve symbol PDB module: PDB name empty");
-    return {};
-  }
-
-  LLDB_LOGV(log, "LocateExecutableSymbolFile {0} with UUID {1}", pdb_name,
-            uuid.GetAsString());
-  if (uuid.GetBytes().size() != 20) {
-    LLDB_LOGV(log, "Failed to resolve symbol PDB module: UUID invalid");
-    return {};
-  }
-
-  std::string key = formatSymStoreKey(uuid);
-  Args sym_store_urls = GetGlobalPluginProperties().GetURLs();
-  for (const Args::ArgEntry &url : sym_store_urls) {
-    llvm::SmallString<256> path;
-    llvm::sys::path::append(path, url.ref(), pdb_name, key, pdb_name);
-    FileSpec spec(path);
-    if (FileSystem::Instance().Exists(spec)) {
-      LLDB_LOGV(log, "Found {0} in SymStore {1}", pdb_name, url.ref());
-      return spec;
-    }
-  }
-
-  return {};
-}
diff --git a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h 
b/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
deleted file mode 100644
index 52ec04cae387b..0000000000000
--- a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
+++ /dev/null
@@ -1,50 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
-#define LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
-
-#include "lldb/Core/Debugger.h"
-#include "lldb/Symbol/SymbolLocator.h"
-#include "lldb/lldb-private.h"
-
-namespace lldb_private {
-
-/// This plugin implements lookup in Microsoft SymStore instances. This can 
work
-/// cross-platform and for arbitrary debug info formats, but the focus is on 
PDB
-/// with PE/COFF binaries on Windows.
-class SymbolLocatorSymStore : public SymbolLocator {
-public:
-  SymbolLocatorSymStore();
-
-  static void Initialize();
-  static void Terminate();
-  static void DebuggerInitialize(Debugger &debugger);
-
-  static llvm::StringRef GetPluginNameStatic() { return "symstore"; }
-  static llvm::StringRef GetPluginDescriptionStatic();
-
-  static lldb_private::SymbolLocator *CreateInstance();
-
-  /// PluginInterface protocol.
-  /// \{
-  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
-  /// \}
-
-  // Locate the symbol file given a module specification.
-  //
-  // Locating the file should happen only on the local computer or using the
-  // current computers global settings.
-  static std::optional<FileSpec>
-  LocateExecutableSymbolFile(const ModuleSpec &module_spec,
-                             const FileSpecList &default_search_paths);
-};
-
-} // namespace lldb_private
-
-#endif // LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
diff --git 
a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td 
b/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td
deleted file mode 100644
index 0cd631a80b90b..0000000000000
--- 
a/lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td
+++ /dev/null
@@ -1,7 +0,0 @@
-include "../../../../include/lldb/Core/PropertiesBase.td"
-
-let Definition = "symbollocatorsymstore", Path = 
"plugin.symbol-locator.symstore" in {
-  def SymStoreURLs : Property<"urls", "Array">,
-    ElementType<"String">,
-    Desc<"List of local symstore directories to query for symbols">;
-}
diff --git a/lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp 
b/lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
index 1797e5b7677ee..20ccfa54a106c 100644
--- a/lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
+++ b/lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
@@ -71,9 +71,6 @@ SymbolVendorPECOFF::CreateInstance(const lldb::ModuleSP 
&module_sp,
 
   // If the module specified a filespec, use that.
   FileSpec fspec = module_sp->GetSymbolFileFileSpec();
-  // Otherwise, use the PDB path from CodeView.
-  if (!fspec)
-    fspec = obj_file->GetPDBPath().value_or(FileSpec());
   // Otherwise, try gnu_debuglink, if one exists.
   if (!fspec)
     fspec = obj_file->GetDebugLink().value_or(FileSpec());
@@ -104,30 +101,31 @@ SymbolVendorPECOFF::CreateInstance(const lldb::ModuleSP 
&module_sp,
   // This objfile is for debugging purposes.
   dsym_objfile_sp->SetType(ObjectFile::eTypeDebugInfo);
 
-  // For DWARF get the module unified section list and add our debug sections
-  // to that.
+  // Get the module unified section list and add our debug sections to
+  // that.
   SectionList *module_section_list = module_sp->GetSectionList();
   SectionList *objfile_section_list = dsym_objfile_sp->GetSectionList();
-  if (objfile_section_list && module_section_list) {
-    static const SectionType g_sections[] = {
-        eSectionTypeDWARFDebugAbbrev,   eSectionTypeDWARFDebugAranges,
-        eSectionTypeDWARFDebugFrame,    eSectionTypeDWARFDebugInfo,
-        eSectionTypeDWARFDebugLine,     eSectionTypeDWARFDebugLoc,
-        eSectionTypeDWARFDebugLocLists, eSectionTypeDWARFDebugMacInfo,
-        eSectionTypeDWARFDebugNames,    eSectionTypeDWARFDebugPubNames,
-        eSectionTypeDWARFDebugPubTypes, eSectionTypeDWARFDebugRanges,
-        eSectionTypeDWARFDebugStr,      eSectionTypeDWARFDebugTypes,
-    };
-    for (SectionType section_type : g_sections) {
-      if (SectionSP section_sp =
-              objfile_section_list->FindSectionByType(section_type, true)) {
-        if (SectionSP module_section_sp =
-                module_section_list->FindSectionByType(section_type, true))
-          module_section_list->ReplaceSection(module_section_sp->GetID(),
-                                              section_sp);
-        else
-          module_section_list->AddSection(section_sp);
-      }
+  if (!objfile_section_list || !module_section_list)
+    return nullptr;
+
+  static const SectionType g_sections[] = {
+      eSectionTypeDWARFDebugAbbrev,   eSectionTypeDWARFDebugAranges,
+      eSectionTypeDWARFDebugFrame,    eSectionTypeDWARFDebugInfo,
+      eSectionTypeDWARFDebugLine,     eSectionTypeDWARFDebugLoc,
+      eSectionTypeDWARFDebugLocLists, eSectionTypeDWARFDebugMacInfo,
+      eSectionTypeDWARFDebugNames,    eSectionTypeDWARFDebugPubNames,
+      eSectionTypeDWARFDebugPubTypes, eSectionTypeDWARFDebugRanges,
+      eSectionTypeDWARFDebugStr,      eSectionTypeDWARFDebugTypes,
+  };
+  for (SectionType section_type : g_sections) {
+    if (SectionSP section_sp =
+            objfile_section_list->FindSectionByType(section_type, true)) {
+      if (SectionSP module_section_sp =
+              module_section_list->FindSectionByType(section_type, true))
+        module_section_list->ReplaceSection(module_section_sp->GetID(),
+                                            section_sp);
+      else
+        module_section_list->AddSection(section_sp);
     }
   }
 
diff --git a/lldb/test/API/symstore/Makefile b/lldb/test/API/symstore/Makefile
deleted file mode 100644
index 6279aee698dad..0000000000000
--- a/lldb/test/API/symstore/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-MAKE_PDB := YES
-
-C_SOURCES := main.c
-include Makefile.rules
diff --git a/lldb/test/API/symstore/TestSymStoreLocal.py 
b/lldb/test/API/symstore/TestSymStoreLocal.py
deleted file mode 100644
index f45e368613847..0000000000000
--- a/lldb/test/API/symstore/TestSymStoreLocal.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import os
-import shutil
-import tempfile
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-
-
-"""
-Test debug symbol acquisition from a local SymStore repository. This can work
-cross-platform and for arbitrary debug info formats. We only support PDB
-currently.
-"""
-
-
-class MockedSymStore:
-    """
-    Context Manager to populate a file structure equivalent to SymStore.exe in 
a
-    temporary directory.
-    """
-
-    def __init__(self, test, exe, pdb):
-        self._test = test
-        self._exe = exe
-        self._pdb = pdb
-        self._tmp = None
-
-    def get_key_pdb(self, exe):
-        """
-        Module UUID: 12345678-1234-5678-9ABC-DEF012345678-00000001
-        To SymStore key: 12345678123456789ABCDEF0123456781
-        """
-        spec = lldb.SBModuleSpec()
-        spec.SetFileSpec(lldb.SBFileSpec(self._test.getBuildArtifact(exe)))
-        module = lldb.SBModule(spec)
-        raw = module.GetUUIDString().replace("-", "").upper()
-        if len(raw) != 40:
-            raise RuntimeError("Unexpected number of bytes in embedded UUID")
-        guid_hex = raw[:32]
-        age = int(raw[32:], 16)
-        return guid_hex + str(age)
-
-    def __enter__(self):
-        """
-        Mock local symstore directory tree, move PDB there and report path.
-        """
-        key = None
-        if self._test.getDebugInfo() == "pdb":
-            key = self.get_key_pdb(self._exe)
-        self._test.assertIsNotNone(key)
-        self._tmp = tempfile.mkdtemp()
-        pdb_dir = os.path.join(self._tmp, self._pdb, key)
-        os.makedirs(pdb_dir)
-        shutil.move(
-            self._test.getBuildArtifact(self._pdb),
-            os.path.join(pdb_dir, self._pdb),
-        )
-        return self._tmp
-
-    def __exit__(self, *exc_info):
-        """
-        Clean up and delete original exe so next make won't skip link command.
-        """
-        shutil.rmtree(self._tmp)
-        self._test.runCmd("settings clear plugin.symbol-locator.symstore")
-        os.remove(self._test.getBuildArtifact(self._exe))
-
-
-class SymStoreLocalTests(TestBase):
-    TEST_WITH_PDB_DEBUG_INFO = True
-
-    def build_inferior(self):
-        self.build()
-        exe_file = "a.out"
-        if self.getDebugInfo() == "pdb":
-            sym_file = "a.pdb"
-        else:
-            self.skipTest("Non-PDB debug info variants not yet supported")
-        self.assertTrue(os.path.isfile(self.getBuildArtifact(exe_file)))
-        self.assertTrue(os.path.isfile(self.getBuildArtifact(sym_file)))
-        return exe_file, sym_file
-
-    def try_breakpoint(self, exe, should_have_loc, ext_lookup=True):
-        enable = "true" if ext_lookup else "false"
-        self.runCmd(f"settings set symbols.enable-external-lookup {enable}")
-        target = self.dbg.CreateTarget(self.getBuildArtifact(exe))
-        self.assertTrue(target and target.IsValid(), "Target is valid")
-        bp = target.BreakpointCreateByName("func")
-        self.assertTrue(bp and bp.IsValid(), "Breakpoint is valid")
-        self.assertEqual(bp.GetNumLocations(), 1 if should_have_loc else 0)
-        self.dbg.DeleteTarget(target)
-
-    def test_no_symstore_url(self):
-        """
-        Check that breakpoint doesn't resolve without SymStore.
-        """
-        exe, sym = self.build_inferior()
-        with MockedSymStore(self, exe, sym):
-            self.try_breakpoint(exe, should_have_loc=False)
-
-    def test_external_lookup_off(self):
-        """
-        Check that breakpoint doesn't resolve with external lookup disabled.
-        """
-        exe, sym = self.build_inferior()
-        with MockedSymStore(self, exe, sym) as symstore_dir:
-            self.runCmd(
-                f"settings set plugin.symbol-locator.symstore.urls 
{symstore_dir}"
-            )
-            self.try_breakpoint(exe, ext_lookup=False, should_have_loc=False)
-
-    def test_basic(self):
-        """
-        Check that breakpoint resolves with local SymStore.
-        """
-        exe, sym = self.build_inferior()
-        with MockedSymStore(self, exe, sym) as symstore_dir:
-            self.runCmd(
-                f"settings set plugin.symbol-locator.symstore.urls 
{symstore_dir}"
-            )
-            self.try_breakpoint(exe, should_have_loc=True)
diff --git a/lldb/test/API/symstore/main.c b/lldb/test/API/symstore/main.c
deleted file mode 100644
index a95762e80ea44..0000000000000
--- a/lldb/test/API/symstore/main.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int func(int argc, const char *argv[]) {
-  return (argc + 1) * (argv[argc][0] + 2);
-}
-
-int main(int argc, const char *argv[]) { return func(0, argv); }

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to