[Lldb-commits] [PATCH] D97786: LLDB: Use path relative to binary, not relative to debugger CWD, for finding .dwo files.
Caroline Tice via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 2 11:04:59 PST 2021
cmtice updated this revision to Diff 327523.
cmtice added a comment.
Upload the correct patch this time. (sorry!)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97786/new/
https://reviews.llvm.org/D97786
Files:
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Index: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -1639,6 +1639,18 @@
return nullptr;
dwo_file.SetFile(comp_dir, FileSpec::Style::native);
+ if (dwo_file.IsRelative()) {
+ // if DW_AT_comp_dir is relative, it should be relative to the location
+ // of the executable, not to the location from which the debugger was
+ // launched.
+ ModuleSpec module_spec;
+ module_spec.GetFileSpec() = m_objfile_sp->GetFileSpec();
+ module_spec.GetSymbolFileSpec() =
+ FileSpec(m_objfile_sp->GetModule()->GetFileSpec().GetPath());
+ llvm::StringRef exe_dir =
+ module_spec.GetFileSpec().GetDirectory().GetStringRef();
+ dwo_file.PrependPathComponent(exe_dir);
+ }
FileSystem::Instance().Resolve(dwo_file);
dwo_file.AppendPathComponent(dwo_name);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97786.327523.patch
Type: text/x-patch
Size: 1031 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210302/4f7f14e7/attachment-0001.bin>
More information about the lldb-commits
mailing list