Author: jmolenda
Date: Mon Jun 11 14:36:40 2018
New Revision: 334442

URL: http://llvm.org/viewvc/llvm-project?rev=334442&view=rev
Log:
Document how lldb uses the DBGSourcePathRemapping 
source path remapping src/dest path pairs with
respect to the DBGVersion number in the plist.

Modified:
    lldb/trunk/source/Host/macosx/Symbols.cpp
    lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp

Modified: lldb/trunk/source/Host/macosx/Symbols.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/macosx/Symbols.cpp?rev=334442&r1=334441&r2=334442&view=diff
==============================================================================
--- lldb/trunk/source/Host/macosx/Symbols.cpp (original)
+++ lldb/trunk/source/Host/macosx/Symbols.cpp Mon Jun 11 14:36:40 2018
@@ -340,8 +340,13 @@ static bool GetModuleSpecInfoFromUUIDDic
     std::string DBGBuildSourcePath;
     std::string DBGSourcePath;
 
-    // If DBGVersion value 2 or higher, look for DBGSourcePathRemapping
-    // dictionary and append the key-value pairs to our remappings.
+    // If DBGVersion 1 or DBGVersion missing, ignore DBGSourcePathRemapping.
+    // If DBGVersion 2, strip last two components of path remappings from
+    //                  entries to fix an issue with a specific set of
+    //                  DBGSourcePathRemapping entries that lldb worked
+    //                  with.
+    // If DBGVersion 3, trust & use the source path remappings as-is.
+    //
     cf_dict = (CFDictionaryRef)CFDictionaryGetValue(
         (CFDictionaryRef)uuid_dict, CFSTR("DBGSourcePathRemapping"));
     if (cf_dict && CFGetTypeID(cf_dict) == CFDictionaryGetTypeID()) {

Modified: lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp?rev=334442&r1=334441&r2=334442&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp 
(original)
+++ lldb/trunk/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp Mon 
Jun 11 14:36:40 2018
@@ -192,16 +192,14 @@ SymbolVendorMacOSX::CreateInstance(const
                               ->GetValueForKey("DBGSourcePathRemapping")
                               ->GetAsDictionary()) {
 
-                        // In an early version of DBGSourcePathRemapping, the
-                        // DBGSourcePath values were incorrect.  If we have a
-                        // newer style DBGSourcePathRemapping, there will be a
-                        // DBGVersion key in the plist with version 2 or
-                        // higher.
+                        // If DBGVersion 1 or DBGVersion missing, ignore 
DBGSourcePathRemapping.
+                        // If DBGVersion 2, strip last two components of path 
remappings from
+                        //                  entries to fix an issue with a 
specific set of
+                        //                  DBGSourcePathRemapping entries 
that lldb worked
+                        //                  with.
+                        // If DBGVersion 3, trust & use the source path 
remappings as-is.
                         //
-                        // If this is an old style DBGSourcePathRemapping,
-                        // ignore the value half of the key-value remappings
-                        // and use reuse the original gloal DBGSourcePath
-                        // string.
+
                         bool new_style_source_remapping_dictionary = false;
                         bool do_truncate_remapping_names = false;
                         std::string original_DBGSourcePath_value =


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to