[Lldb-commits] [PATCH] Correct a standalone debug file path
Ed Maste
emaste at freebsd.org
Wed Nov 13 06:36:31 PST 2013
Hi mikesart,
For a file /bin/ls with a .gnu_debuglink entry of "ls.debug" the path should be
/usr/lib/debug/bin/ls.debug
not
/usr/lib/debug/bin/ls
ref: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html
http://llvm.org/pr17903
http://llvm-reviews.chandlerc.com/D2169
Files:
source/Host/common/Symbols.cpp
Index: source/Host/common/Symbols.cpp
===================================================================
--- source/Host/common/Symbols.cpp
+++ source/Host/common/Symbols.cpp
@@ -61,9 +61,9 @@
uuid_str = uuid_str + ".debug";
}
- // Get full path to our module. Needed to check debug files like this:
- // /usr/lib/debug/usr/lib/libboost_date_time.so.1.46.1
- std::string module_filename = module_spec.GetFileSpec().GetPath();
+ // Get directory of our module. Needed to check debug files like this:
+ // /usr/lib/debug/usr/lib/library.so.debug
+ std::string module_directory = module_spec.GetFileSpec().GetDirectory().AsCString();
size_t num_directories = debug_file_search_paths.GetSize();
for (size_t idx = 0; idx < num_directories; ++idx)
@@ -79,7 +79,7 @@
files.push_back (dirname + "/" + symbol_filename);
files.push_back (dirname + "/.debug/" + symbol_filename);
files.push_back (dirname + "/.build-id/" + uuid_str);
- files.push_back (dirname + module_filename);
+ files.push_back (dirname + module_directory + "/" + symbol_filename);
const uint32_t num_files = files.size();
for (size_t idx_file = 0; idx_file < num_files; ++idx_file)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2169.1.patch
Type: text/x-patch
Size: 1255 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20131113/de982bea/attachment.bin>
More information about the lldb-commits
mailing list