Index: lldb/source/Symbol/LocateSymbolFileMacOSX.cpp =================================================================== --- lldb/source/Symbol/LocateSymbolFileMacOSX.cpp +++ lldb/source/Symbol/LocateSymbolFileMacOSX.cpp @@ -519,11 +519,11 @@ static FileSpec GetDsymForUUIDExecutable() { // The LLDB_APPLE_DSYMFORUUID_EXECUTABLE environment variable is used by the // test suite to override the dsymForUUID location. Because we must be able - // to change the value within a single test, don't bother resolving or - // caching it. + // to change the value within a single test, don't bother caching it. if (const char *dsymForUUID_env = getenv("LLDB_APPLE_DSYMFORUUID_EXECUTABLE")) { FileSpec dsymForUUID_executable(dsymForUUID_env); + FileSystem::Instance().Resolve(dsymForUUID_executable); if (FileSystem::Instance().Exists(dsymForUUID_executable)) return dsymForUUID_executable; } @@ -535,6 +535,7 @@ llvm::StringRef dbgshell_command = GetDbgShellCommand(); if (!dbgshell_command.empty()) { g_dsymForUUID_executable = FileSpec(dbgshell_command); + FileSystem::Instance().Resolve(g_dsymForUUID_executable); if (FileSystem::Instance().Exists(g_dsymForUUID_executable)) return; } @@ -542,7 +543,7 @@ // Try dsymForUUID in /usr/local/bin { g_dsymForUUID_executable = - FileSpec("/usr/local/bin/dsymForUUID", FileSpec::Style::native); + FileSpec("/usr/local/bin/dsymForUUID"); if (FileSystem::Instance().Exists(g_dsymForUUID_executable)) return; } @@ -562,7 +563,7 @@ // When dbgshell_command is empty, the user has not enabled the use of an // external program to find the symbols, don't run it for them. - if (!force_lookup && !dbgshell_command.empty()) + if (!force_lookup && dbgshell_command.empty()) return false; // We need a UUID or valid (existing FileSpec. @@ -635,7 +636,7 @@ return false; } - if (CFGetTypeID(plist.get()) == CFDictionaryGetTypeID()) { + if (CFGetTypeID(plist.get()) != CFDictionaryGetTypeID()) { LLDB_LOGF(log, "'%s' failed: output plist is not a valid CFDictionary", command.GetData()); return false;