[Lldb-commits] [lldb] Push down the swig module to avoid an import cycle (PR #129135)

Vladislav Dzhidzhoev via lldb-commits lldb-commits at lists.llvm.org
Wed Mar 5 08:52:40 PST 2025


dzhidzhoev wrote:

> Okay!
> 
> Thank you for reverting! I will run more test and find a solution.

It seems that `ScriptInterpreterPython::SharedLibraryDirectoryHelper` can't correctly determine path to liblldb.dll after this change.
`SharedLibraryDirectoryHelper("build-lldb\Lib\site-packages\lldb\native\_lldb.cp312-win_amd64.pyd")` returns `build-lldb\Lib\bin\liblldb.dll` instead of `build-lldb\bin\liblldb.dll`.

This should help:
```
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
index 00d01981c64f..2dc4ad269172 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -310,6 +310,7 @@ void ScriptInterpreterPython::SharedLibraryDirectoryHelper(
   // does.
   if (this_file.GetFileNameExtension() == ".pyd") {
     this_file.RemoveLastPathComponent(); // _lldb.pyd or _lldb_d.pyd
+    this_file.RemoveLastPathComponent(); // native
     this_file.RemoveLastPathComponent(); // lldb
     llvm::StringRef libdir = LLDB_PYTHON_RELATIVE_LIBDIR;
     for (auto it = llvm::sys::path::begin(libdir),

```

https://github.com/llvm/llvm-project/pull/129135


More information about the lldb-commits mailing list