tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH 5/7] Hackaround lldb-server path detection



Add a hack to help lldb locate lldb-server.  The upstream code for this
relies on liblldb being built as a shared library, as it uses dlinfo
to determine the path to the library and find executables relative
to that.  We cannot build liblldb.so at the moment since it would
require building whole LLVM and Clang with -fPIC.

The patch hardcodes a path equivalent to the expected value.  This way
we can avoid having to change more than one statement, as the relative
path logic remains correct.
---
 .../llvm/dist/lldb/source/Host/common/HostInfoBase.cpp    | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/external/apache2/llvm/dist/lldb/source/Host/common/HostInfoBase.cpp b/external/apache2/llvm/dist/lldb/source/Host/common/HostInfoBase.cpp
index 3765f36fc79a..ac36bdbbdc27 100644
--- a/external/apache2/llvm/dist/lldb/source/Host/common/HostInfoBase.cpp
+++ b/external/apache2/llvm/dist/lldb/source/Host/common/HostInfoBase.cpp
@@ -248,13 +248,7 @@ bool HostInfoBase::ComputeSharedLibraryDirectory(FileSpec &file_spec) {
   // contains this function. On MacOSX this will be "LLDB.framework/.../LLDB".
   // On other posix systems, we will get .../lib(64|32)?/liblldb.so.
 
-  FileSpec lldb_file_spec(Host::GetModuleFileSpecForHostAddress(
-      reinterpret_cast<void *>(reinterpret_cast<intptr_t>(
-          HostInfoBase::ComputeSharedLibraryDirectory))));
-
-  // This is necessary because when running the testsuite the shlib might be a
-  // symbolic link inside the Python resource dir.
-  FileSystem::Instance().ResolveSymbolicLink(lldb_file_spec, lldb_file_spec);
+  FileSpec lldb_file_spec("/usr/lib/liblldb.so");
 
   // Remove the filename so that this FileSpec only represents the directory.
   file_spec.GetDirectory() = lldb_file_spec.GetDirectory();
-- 
2.26.0



Home | Main Index | Thread Index | Old Index