Ignore DBGArchitecture from dsymForUUID's plist

When the architecture from the returned plist differs from the
architecture lldb will pick when loading the binary file, lldb will
reject the binary as not matching.  We are working with UUID's in
this case, so an architecture is not disambiguating anything; it
just opens this possibility for failing to load the specified binary.
Stop reading the architecture from the plist.

<rdar://problem/71612561>
Differential revision: https://reviews.llvm.org/D92692
This commit is contained in:
Jason Molenda 2020-12-09 14:12:15 -08:00
parent 898d61b3cf
commit 2cedc44a92
2 changed files with 1 additions and 8 deletions

View File

@ -342,13 +342,6 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
}
}
cf_str = (CFStringRef)CFDictionaryGetValue((CFDictionaryRef)uuid_dict,
CFSTR("DBGArchitecture"));
if (cf_str && CFGetTypeID(cf_str) == CFStringGetTypeID()) {
if (CFCString::FileSystemRepresentation(cf_str, str))
module_spec.GetArchitecture().SetTriple(str.c_str());
}
std::string DBGBuildSourcePath;
std::string DBGSourcePath;

View File

@ -85,7 +85,7 @@ class TestFirmwareCorefiles(TestBase):
'fi',
'echo "<dict><key>$uuid</key><dict>"',
'',
'echo "<key>DBGArchitecture</key><string>x86_64</string>"',
'echo "<key>DBGArchitecture</key><string>i386</string>"',
'echo "<key>DBGDSYMPath</key><string>$dsym</string>"',
'echo "<key>DBGSymbolRichExecutable</key><string>$bin</string>"',
'echo "</dict></dict></plist>"',