[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