https://github.com/JDevlieghere updated 
https://github.com/llvm/llvm-project/pull/183637

>From cd5c74b4e8fc8c34a07069780774e8048a7fabb3 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <[email protected]>
Date: Thu, 26 Feb 2026 14:53:37 -0800
Subject: [PATCH 1/2] [lldb] Go through the plugin manager to set the shlib dir
 helper

Go through the plugin manager to set the shlib dir helper. This removes
the build-time dependency on the ScriptInterpreterPython from
SystemInitializerFull, which is required to support dynamic script
interpreter plugins.

The downside of the new approach is that we set the helper after having
initialized the Host plugin, which theoretically introduces a small
window where someone could query the helper before it has been set.
Fortunately the window is pretty small and limited to when we're
initializing plugins, but its less "pure" than what we had before. That
said, I think it balances out with removing the plugin include.
---
 lldb/include/lldb/Core/PluginManager.h        | 15 ++++++----
 lldb/include/lldb/Host/HostInfoBase.h         |  4 ++-
 .../Initialization/SystemInitializerCommon.h  |  5 +---
 lldb/include/lldb/lldb-private-interfaces.h   |  2 ++
 lldb/source/API/SystemInitializerFull.cpp     | 20 ++++---------
 lldb/source/Core/PluginManager.cpp            | 29 ++++++++++++++-----
 lldb/source/Host/common/HostInfoBase.cpp      |  8 +++--
 .../SystemInitializerCommon.cpp               |  6 ++--
 .../Python/ScriptInterpreterPython.cpp        | 11 +++----
 .../Python/ScriptInterpreterPython.h          |  5 ++++
 lldb/tools/lldb-mcp/lldb-mcp.cpp              |  2 +-
 .../tools/lldb-server/SystemInitializerLLGS.h |  2 +-
 .../tools/lldb-test/SystemInitializerTest.cpp |  3 +-
 13 files changed, 66 insertions(+), 46 deletions(-)

diff --git a/lldb/include/lldb/Core/PluginManager.h 
b/lldb/include/lldb/Core/PluginManager.h
index 26680bf95fae6..c7b4215533a4b 100644
--- a/lldb/include/lldb/Core/PluginManager.h
+++ b/lldb/include/lldb/Core/PluginManager.h
@@ -10,6 +10,7 @@
 #define LLDB_CORE_PLUGINMANAGER_H
 
 #include "lldb/Core/Architecture.h"
+#include "lldb/Host/HostInfo.h"
 #include "lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h"
 #include "lldb/Symbol/TypeSystem.h"
 #include "lldb/Target/Statistics.h"
@@ -348,11 +349,12 @@ class PluginManager {
   static lldb::RegisterTypeBuilderSP GetRegisterTypeBuilder(Target &target);
 
   // ScriptInterpreter
-  static bool
-  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
-                 lldb::ScriptLanguage script_lang,
-                 ScriptInterpreterCreateInstance create_callback,
-                 ScriptInterpreterGetPath get_path_callback = nullptr);
+  static bool RegisterPlugin(
+      llvm::StringRef name, llvm::StringRef description,
+      lldb::ScriptLanguage script_lang,
+      ScriptInterpreterCreateInstance create_callback,
+      ScriptInterpreterGetPath get_path_callback = nullptr,
+      ScriptInterpreterGetShlibDirHelper get_shlib_dir_helper = nullptr);
 
   static bool UnregisterPlugin(ScriptInterpreterCreateInstance 
create_callback);
 
@@ -366,6 +368,9 @@ class PluginManager {
   static FileSpec
   GetScriptInterpreterLibraryPath(lldb::ScriptLanguage script_lang);
 
+  static HostInfo::SharedLibraryDirectoryHelper *
+  GetSharedLibraryDirectoryHelper();
+
   // SyntheticFrameProvider
   static bool
   RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
diff --git a/lldb/include/lldb/Host/HostInfoBase.h 
b/lldb/include/lldb/Host/HostInfoBase.h
index cfc41581636b2..6f443d36735ce 100644
--- a/lldb/include/lldb/Host/HostInfoBase.h
+++ b/lldb/include/lldb/Host/HostInfoBase.h
@@ -96,8 +96,10 @@ class HostInfoBase {
   /// (optionally) replace it with a file spec pointing to a more canonical
   /// copy.
   using SharedLibraryDirectoryHelper = void(FileSpec &this_file);
+  static void
+  SetSharedLibraryDirectoryHelper(SharedLibraryDirectoryHelper *helper);
 
-  static void Initialize(SharedLibraryDirectoryHelper *helper = nullptr);
+  static void Initialize();
   static void Terminate();
 
   /// Gets the host target triple.
diff --git a/lldb/include/lldb/Initialization/SystemInitializerCommon.h 
b/lldb/include/lldb/Initialization/SystemInitializerCommon.h
index d918b1125a570..6884e4664f69c 100644
--- a/lldb/include/lldb/Initialization/SystemInitializerCommon.h
+++ b/lldb/include/lldb/Initialization/SystemInitializerCommon.h
@@ -23,14 +23,11 @@ namespace lldb_private {
 /// the constructor.
 class SystemInitializerCommon : public SystemInitializer {
 public:
-  SystemInitializerCommon(HostInfo::SharedLibraryDirectoryHelper *helper);
+  SystemInitializerCommon();
   ~SystemInitializerCommon() override;
 
   llvm::Error Initialize() override;
   void Terminate() override;
-
-private:
-  HostInfo::SharedLibraryDirectoryHelper *m_shlib_dir_helper;
 };
 
 } // namespace lldb_private
diff --git a/lldb/include/lldb/lldb-private-interfaces.h 
b/lldb/include/lldb/lldb-private-interfaces.h
index d70bce6f686c7..f38373e2ed87d 100644
--- a/lldb/include/lldb/lldb-private-interfaces.h
+++ b/lldb/include/lldb/lldb-private-interfaces.h
@@ -88,6 +88,8 @@ typedef lldb::RegisterTypeBuilderSP 
(*RegisterTypeBuilderCreateInstance)(
 typedef lldb::ScriptInterpreterSP (*ScriptInterpreterCreateInstance)(
     Debugger &debugger);
 typedef FileSpec (*ScriptInterpreterGetPath)();
+typedef void (*SharedLibraryDirectoryHelperFn)(FileSpec &);
+typedef SharedLibraryDirectoryHelperFn (*ScriptInterpreterGetShlibDirHelper)();
 typedef llvm::Expected<lldb::SyntheticFrameProviderSP> (
     *ScriptedFrameProviderCreateInstance)(
     lldb::StackFrameListSP input_frames,
diff --git a/lldb/source/API/SystemInitializerFull.cpp 
b/lldb/source/API/SystemInitializerFull.cpp
index 4cf7dd149e023..316dc18411252 100644
--- a/lldb/source/API/SystemInitializerFull.cpp
+++ b/lldb/source/API/SystemInitializerFull.cpp
@@ -32,22 +32,9 @@
 #define LLDB_PLUGIN(p) LLDB_PLUGIN_DECLARE(p)
 #include "Plugins/Plugins.def"
 
-#if LLDB_ENABLE_PYTHON
-#include "Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h"
-
-constexpr lldb_private::HostInfo::SharedLibraryDirectoryHelper
-    *g_shlib_dir_helper =
-        lldb_private::ScriptInterpreterPython::SharedLibraryDirectoryHelper;
-
-#else
-constexpr lldb_private::HostInfo::SharedLibraryDirectoryHelper
-    *g_shlib_dir_helper = nullptr;
-#endif
-
 using namespace lldb_private;
 
-SystemInitializerFull::SystemInitializerFull()
-    : SystemInitializerCommon(g_shlib_dir_helper) {}
+SystemInitializerFull::SystemInitializerFull() : SystemInitializerCommon() {}
 SystemInitializerFull::~SystemInitializerFull() = default;
 
 llvm::Error SystemInitializerFull::Initialize() {
@@ -75,6 +62,11 @@ llvm::Error SystemInitializerFull::Initialize() {
   // Scan for any system or user LLDB plug-ins.
   PluginManager::Initialize();
 
+  // Set the shared library directory helper in the Host plugin. This needs to
+  // happen after the script interpreter plugins have been initialized.
+  HostInfo::SetSharedLibraryDirectoryHelper(
+      PluginManager::GetSharedLibraryDirectoryHelper());
+
   // The process settings need to know about installed plug-ins, so the
   // Settings must be initialized AFTER PluginManager::Initialize is called.
   Debugger::SettingsInitialize();
diff --git a/lldb/source/Core/PluginManager.cpp 
b/lldb/source/Core/PluginManager.cpp
index e430305999b39..b355e68267fc3 100644
--- a/lldb/source/Core/PluginManager.cpp
+++ b/lldb/source/Core/PluginManager.cpp
@@ -1318,16 +1318,19 @@ PluginManager::GetRegisterTypeBuilder(Target &target) {
 
 struct ScriptInterpreterInstance
     : public PluginInstance<ScriptInterpreterCreateInstance> {
-  ScriptInterpreterInstance(llvm::StringRef name, llvm::StringRef description,
-                            CallbackType create_callback,
-                            lldb::ScriptLanguage language,
-                            ScriptInterpreterGetPath get_path_callback)
+  ScriptInterpreterInstance(
+      llvm::StringRef name, llvm::StringRef description,
+      CallbackType create_callback, lldb::ScriptLanguage language,
+      ScriptInterpreterGetPath get_path_callback,
+      ScriptInterpreterGetShlibDirHelper get_shlib_dir_helper)
       : PluginInstance<ScriptInterpreterCreateInstance>(name, description,
                                                         create_callback),
-        language(language), get_path_callback(get_path_callback) {}
+        language(language), get_path_callback(get_path_callback),
+        get_shlib_dir_helper(get_shlib_dir_helper) {}
 
   lldb::ScriptLanguage language = lldb::eScriptLanguageNone;
   ScriptInterpreterGetPath get_path_callback = nullptr;
+  ScriptInterpreterGetShlibDirHelper get_shlib_dir_helper = nullptr;
 };
 
 typedef PluginInstances<ScriptInterpreterInstance> ScriptInterpreterInstances;
@@ -1341,9 +1344,11 @@ bool PluginManager::RegisterPlugin(
     llvm::StringRef name, llvm::StringRef description,
     lldb::ScriptLanguage script_language,
     ScriptInterpreterCreateInstance create_callback,
-    ScriptInterpreterGetPath get_path_callback) {
+    ScriptInterpreterGetPath get_path_callback,
+    ScriptInterpreterGetShlibDirHelper get_shlib_dir_helper) {
   return GetScriptInterpreterInstances().RegisterPlugin(
-      name, description, create_callback, script_language, get_path_callback);
+      name, description, create_callback, script_language, get_path_callback,
+      get_shlib_dir_helper);
 }
 
 bool PluginManager::UnregisterPlugin(
@@ -1384,6 +1389,16 @@ FileSpec PluginManager::GetScriptInterpreterLibraryPath(
   return FileSpec();
 }
 
+HostInfo::SharedLibraryDirectoryHelper *
+PluginManager::GetSharedLibraryDirectoryHelper() {
+  const auto instances = GetScriptInterpreterInstances().GetSnapshot();
+  for (const auto &instance : instances) {
+    if (instance.get_shlib_dir_helper)
+      return instance.get_shlib_dir_helper();
+  }
+  return nullptr;
+}
+
 #pragma mark SyntheticFrameProvider
 
 typedef PluginInstance<SyntheticFrameProviderCreateInstance>
diff --git a/lldb/source/Host/common/HostInfoBase.cpp 
b/lldb/source/Host/common/HostInfoBase.cpp
index a02ac77df66a3..375a1b404ff96 100644
--- a/lldb/source/Host/common/HostInfoBase.cpp
+++ b/lldb/source/Host/common/HostInfoBase.cpp
@@ -77,8 +77,7 @@ struct HostInfoBaseFields {
 static HostInfoBaseFields *g_fields = nullptr;
 static HostInfoBase::SharedLibraryDirectoryHelper *g_shlib_dir_helper = 
nullptr;
 
-void HostInfoBase::Initialize(SharedLibraryDirectoryHelper *helper) {
-  g_shlib_dir_helper = helper;
+void HostInfoBase::Initialize() {
   g_fields = new HostInfoBaseFields();
   LogChannelSystem::Initialize();
 }
@@ -269,6 +268,11 @@ bool HostInfoBase::ComputePathRelativeToLibrary(FileSpec 
&file_spec,
   return (bool)file_spec.GetDirectory();
 }
 
+void HostInfoBase::SetSharedLibraryDirectoryHelper(
+    SharedLibraryDirectoryHelper *helper) {
+  g_shlib_dir_helper = helper;
+}
+
 bool HostInfoBase::ComputeSharedLibraryDirectory(FileSpec &file_spec) {
   // To get paths related to LLDB we get the path to the executable that
   // contains this function. On MacOSX this will be "LLDB.framework/.../LLDB".
diff --git a/lldb/source/Initialization/SystemInitializerCommon.cpp 
b/lldb/source/Initialization/SystemInitializerCommon.cpp
index 1a172a95aa147..4ff9354e0d45c 100644
--- a/lldb/source/Initialization/SystemInitializerCommon.cpp
+++ b/lldb/source/Initialization/SystemInitializerCommon.cpp
@@ -35,9 +35,7 @@
 
 using namespace lldb_private;
 
-SystemInitializerCommon::SystemInitializerCommon(
-    HostInfo::SharedLibraryDirectoryHelper *helper)
-    : m_shlib_dir_helper(helper) {}
+SystemInitializerCommon::SystemInitializerCommon() = default;
 
 SystemInitializerCommon::~SystemInitializerCommon() = default;
 
@@ -68,7 +66,7 @@ llvm::Error SystemInitializerCommon::Initialize() {
 
   Diagnostics::Initialize();
   FileSystem::Initialize();
-  HostInfo::Initialize(m_shlib_dir_helper);
+  HostInfo::Initialize();
 
   llvm::Error error = Socket::Initialize();
   if (error)
diff --git 
a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp 
b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
index 1c82ba0accb1b..0db66d162a1b7 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -292,11 +292,12 @@ llvm::StringRef 
ScriptInterpreterPython::GetPluginDescriptionStatic() {
 void ScriptInterpreterPython::Initialize() {
   static llvm::once_flag g_once_flag;
   llvm::call_once(g_once_flag, []() {
-    PluginManager::RegisterPlugin(GetPluginNameStatic(),
-                                  GetPluginDescriptionStatic(),
-                                  lldb::eScriptLanguagePython,
-                                  ScriptInterpreterPythonImpl::CreateInstance,
-                                  ScriptInterpreterPythonImpl::GetPythonDir);
+    PluginManager::RegisterPlugin(
+        GetPluginNameStatic(), GetPluginDescriptionStatic(),
+        lldb::eScriptLanguagePython,
+        ScriptInterpreterPythonImpl::CreateInstance,
+        ScriptInterpreterPythonImpl::GetPythonDir,
+        ScriptInterpreterPython::GetSharedLibraryDirectoryHelper);
     ScriptInterpreterPythonImpl::Initialize();
   });
   ScriptInterpreterPythonInterfaces::Initialize();
diff --git 
a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h 
b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
index bade88614f3d9..8cb7fe6587d2e 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
@@ -12,6 +12,7 @@
 #include "lldb/Breakpoint/BreakpointOptions.h"
 #include "lldb/Core/IOHandler.h"
 #include "lldb/Core/StructuredDataImpl.h"
+#include "lldb/Host/HostInfo.h"
 #include "lldb/Interpreter/ScriptInterpreter.h"
 #include "lldb/lldb-private.h"
 
@@ -48,6 +49,10 @@ class ScriptInterpreterPython : public ScriptInterpreter,
   static llvm::StringRef GetPluginDescriptionStatic();
   static FileSpec GetPythonDir();
   static void SharedLibraryDirectoryHelper(FileSpec &this_file);
+  static HostInfo::SharedLibraryDirectoryHelper *
+  GetSharedLibraryDirectoryHelper() {
+    return &ScriptInterpreterPython::SharedLibraryDirectoryHelper;
+  }
 
 protected:
   static void ComputePythonDirForApple(llvm::SmallVectorImpl<char> &path);
diff --git a/lldb/tools/lldb-mcp/lldb-mcp.cpp b/lldb/tools/lldb-mcp/lldb-mcp.cpp
index d0c44b2cf41fa..6a534dc8e320f 100644
--- a/lldb/tools/lldb-mcp/lldb-mcp.cpp
+++ b/lldb/tools/lldb-mcp/lldb-mcp.cpp
@@ -214,7 +214,7 @@ int main(int argc, char *argv[]) {
 #endif
 
   if (llvm::Error err = g_debugger_lifetime->Initialize(
-          std::make_unique<lldb_private::SystemInitializerCommon>(nullptr)))
+          std::make_unique<lldb_private::SystemInitializerCommon>()))
     exitWithError(std::move(err));
 
   llvm::scope_exit cleanup([] { g_debugger_lifetime->Terminate(); });
diff --git a/lldb/tools/lldb-server/SystemInitializerLLGS.h 
b/lldb/tools/lldb-server/SystemInitializerLLGS.h
index 4469a8ba5f60a..24cf400a67f94 100644
--- a/lldb/tools/lldb-server/SystemInitializerLLGS.h
+++ b/lldb/tools/lldb-server/SystemInitializerLLGS.h
@@ -14,7 +14,7 @@
 
 class SystemInitializerLLGS : public lldb_private::SystemInitializerCommon {
 public:
-  SystemInitializerLLGS() : SystemInitializerCommon(nullptr) {}
+  SystemInitializerLLGS() : SystemInitializerCommon() {}
 
   llvm::Error Initialize() override;
   void Terminate() override;
diff --git a/lldb/tools/lldb-test/SystemInitializerTest.cpp 
b/lldb/tools/lldb-test/SystemInitializerTest.cpp
index 3478e5d8df994..10e80c6fee499 100644
--- a/lldb/tools/lldb-test/SystemInitializerTest.cpp
+++ b/lldb/tools/lldb-test/SystemInitializerTest.cpp
@@ -22,8 +22,7 @@
 
 using namespace lldb_private;
 
-SystemInitializerTest::SystemInitializerTest()
-    : SystemInitializerCommon(nullptr) {}
+SystemInitializerTest::SystemInitializerTest() : SystemInitializerCommon() {}
 SystemInitializerTest::~SystemInitializerTest() = default;
 
 llvm::Error SystemInitializerTest::Initialize() {

>From 05a7f9fcf0dd2bf732573e42dde49d19c59160e4 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <[email protected]>
Date: Fri, 27 Feb 2026 09:38:35 -0800
Subject: [PATCH 2/2] Update remaining platforms

---
 lldb/include/lldb/Host/aix/HostInfoAIX.h         | 2 +-
 lldb/include/lldb/Host/linux/HostInfoLinux.h     | 2 +-
 lldb/include/lldb/Host/windows/HostInfoWindows.h | 2 +-
 lldb/source/Host/aix/HostInfoAIX.cpp             | 4 +---
 lldb/source/Host/linux/HostInfoLinux.cpp         | 4 ++--
 lldb/source/Host/windows/HostInfoWindows.cpp     | 4 ++--
 6 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/lldb/include/lldb/Host/aix/HostInfoAIX.h 
b/lldb/include/lldb/Host/aix/HostInfoAIX.h
index 7796a15237805..a88d9f66162a7 100644
--- a/lldb/include/lldb/Host/aix/HostInfoAIX.h
+++ b/lldb/include/lldb/Host/aix/HostInfoAIX.h
@@ -18,7 +18,7 @@ class HostInfoAIX : public HostInfoPosix {
   friend class HostInfoBase;
 
 public:
-  static void Initialize(SharedLibraryDirectoryHelper *helper = nullptr);
+  static void Initialize();
   static void Terminate();
 
   static FileSpec GetProgramFileSpec();
diff --git a/lldb/include/lldb/Host/linux/HostInfoLinux.h 
b/lldb/include/lldb/Host/linux/HostInfoLinux.h
index 904d679e6d953..0270cbcefcd54 100644
--- a/lldb/include/lldb/Host/linux/HostInfoLinux.h
+++ b/lldb/include/lldb/Host/linux/HostInfoLinux.h
@@ -22,7 +22,7 @@ class HostInfoLinux : public HostInfoPosix {
   friend class HostInfoBase;
 
 public:
-  static void Initialize(SharedLibraryDirectoryHelper *helper = nullptr);
+  static void Initialize();
   static void Terminate();
 
   static llvm::StringRef GetDistributionId();
diff --git a/lldb/include/lldb/Host/windows/HostInfoWindows.h 
b/lldb/include/lldb/Host/windows/HostInfoWindows.h
index 8a4f5c7cb84d8..42eaaf3415f7d 100644
--- a/lldb/include/lldb/Host/windows/HostInfoWindows.h
+++ b/lldb/include/lldb/Host/windows/HostInfoWindows.h
@@ -21,7 +21,7 @@ class HostInfoWindows : public HostInfoBase {
   friend class HostInfoBase;
 
 public:
-  static void Initialize(SharedLibraryDirectoryHelper *helper = nullptr);
+  static void Initialize();
   static void Terminate();
 
   static size_t GetPageSize();
diff --git a/lldb/source/Host/aix/HostInfoAIX.cpp 
b/lldb/source/Host/aix/HostInfoAIX.cpp
index aab3bf62a635f..5ad9e61297f02 100644
--- a/lldb/source/Host/aix/HostInfoAIX.cpp
+++ b/lldb/source/Host/aix/HostInfoAIX.cpp
@@ -12,9 +12,7 @@
 
 using namespace lldb_private;
 
-void HostInfoAIX::Initialize(SharedLibraryDirectoryHelper *helper) {
-  HostInfoPosix::Initialize(helper);
-}
+void HostInfoAIX::Initialize() { HostInfoPosix::Initialize(); }
 
 void HostInfoAIX::Terminate() { HostInfoBase::Terminate(); }
 
diff --git a/lldb/source/Host/linux/HostInfoLinux.cpp 
b/lldb/source/Host/linux/HostInfoLinux.cpp
index 711d2ca6f13d3..bb929f18505ed 100644
--- a/lldb/source/Host/linux/HostInfoLinux.cpp
+++ b/lldb/source/Host/linux/HostInfoLinux.cpp
@@ -35,8 +35,8 @@ struct HostInfoLinuxFields {
 
 static HostInfoLinuxFields *g_fields = nullptr;
 
-void HostInfoLinux::Initialize(SharedLibraryDirectoryHelper *helper) {
-  HostInfoPosix::Initialize(helper);
+void HostInfoLinux::Initialize() {
+  HostInfoPosix::Initialize();
 
   g_fields = new HostInfoLinuxFields();
 }
diff --git a/lldb/source/Host/windows/HostInfoWindows.cpp 
b/lldb/source/Host/windows/HostInfoWindows.cpp
index bdb234c07859f..0b0cda49a64c0 100644
--- a/lldb/source/Host/windows/HostInfoWindows.cpp
+++ b/lldb/source/Host/windows/HostInfoWindows.cpp
@@ -40,9 +40,9 @@ class WindowsUserIDResolver : public UserIDResolver {
 
 FileSpec HostInfoWindows::m_program_filespec;
 
-void HostInfoWindows::Initialize(SharedLibraryDirectoryHelper *helper) {
+void HostInfoWindows::Initialize() {
   ::CoInitializeEx(nullptr, COINIT_MULTITHREADED);
-  HostInfoBase::Initialize(helper);
+  HostInfoBase::Initialize();
 }
 
 void HostInfoWindows::Terminate() {

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

Reply via email to