diff options
author | Jason Molenda <jmolenda@apple.com> | 2018-06-11 21:36:40 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2018-06-11 21:36:40 +0000 |
commit | 808490138b8011bffb8ad327bf7e484062885d35 (patch) | |
tree | 36bc0b0229e72e54d12dd2ada817a2a836964def | |
parent | c710f5d40ae5f0274f6cbf13837b5b4783ee48ad (diff) | |
download | bcm5719-llvm-808490138b8011bffb8ad327bf7e484062885d35.tar.gz bcm5719-llvm-808490138b8011bffb8ad327bf7e484062885d35.zip |
Document how lldb uses the DBGSourcePathRemapping
source path remapping src/dest path pairs with
respect to the DBGVersion number in the plist.
llvm-svn: 334442
-rw-r--r-- | lldb/source/Host/macosx/Symbols.cpp | 9 | ||||
-rw-r--r-- | lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp | 16 |
2 files changed, 14 insertions, 11 deletions
diff --git a/lldb/source/Host/macosx/Symbols.cpp b/lldb/source/Host/macosx/Symbols.cpp index 7127c5cd334..01f2714fe59 100644 --- a/lldb/source/Host/macosx/Symbols.cpp +++ b/lldb/source/Host/macosx/Symbols.cpp @@ -340,8 +340,13 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict, 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()) { diff --git a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp index ec8516b39f6..c69eb7fd51c 100644 --- a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp +++ b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp @@ -192,16 +192,14 @@ SymbolVendorMacOSX::CreateInstance(const lldb::ModuleSP &module_sp, ->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 = |