[Lldb-commits] [PATCH] D131303: [lldb] Refactor Symbols::DownloadObjectAndSymbolFile

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Aug 5 15:53:06 PDT 2022


JDevlieghere updated this revision to Diff 450441.
JDevlieghere added a comment.

- Fix typo
- Still resolve the LLDB_APPLE_DSYMFORUUID_EXECUTABLE in case it's a relative path


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131303/new/

https://reviews.llvm.org/D131303

Files:
  lldb/source/Symbol/LocateSymbolFileMacOSX.cpp


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;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131303.450441.patch
Type: text/x-patch
Size: 2231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220805/e50c5cbf/attachment.bin>


More information about the lldb-commits mailing list