summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-03-19 13:13:47 +0000
committeremaste <emaste@FreeBSD.org>2014-03-19 13:13:47 +0000
commita7c13fdad58a5b442000f2a0935672c5cd519d47 (patch)
treecfc42f70e7c623d561dc3ee425e8ee84b16fae92 /contrib/llvm/tools
parent958843c32b7a29741f2e45996b5b3e89f9e108b0 (diff)
downloadFreeBSD-src-a7c13fdad58a5b442000f2a0935672c5cd519d47.zip
FreeBSD-src-a7c13fdad58a5b442000f2a0935672c5cd519d47.tar.gz
MFC r258094: lldb: Correct a standalone debug file path
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 Upstream defect pr17903 (http://llvm.org/pr17903) Sponsored by: DARPA, AFRL
Diffstat (limited to 'contrib/llvm/tools')
-rw-r--r--contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp b/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
index 7189269..41f465a 100644
--- a/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
+++ b/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
@@ -61,9 +61,9 @@ Symbols::LocateExecutableSymbolFile (const ModuleSpec &module_spec)
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 @@ Symbols::LocateExecutableSymbolFile (const ModuleSpec &module_spec)
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)
OpenPOWER on IntegriCloud