Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 2014 13:13:48 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r263364 - stable/10/contrib/llvm/tools/lldb/source/Host/common
Message-ID:  <201403191313.s2JDDmsQ045553@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Wed Mar 19 13:13:47 2014
New Revision: 263364
URL: http://svnweb.freebsd.org/changeset/base/263364

Log:
  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

Modified:
  stable/10/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
==============================================================================
--- stable/10/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp	Wed Mar 19 13:11:35 2014	(r263363)
+++ stable/10/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp	Wed Mar 19 13:13:47 2014	(r263364)
@@ -61,9 +61,9 @@ Symbols::LocateExecutableSymbolFile (con
         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 (con
         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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403191313.s2JDDmsQ045553>