kwk created this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
kwk added a child revision: D75754: Fix typo.
kwk abandoned this revision.
kwk added a comment.

I didn't intend to create a new revision.


Depends on D75750 <https://reviews.llvm.org/D75750>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75753

Files:
  lldb/include/lldb/Host/DebugInfoD.h
  lldb/source/Core/SourceManager.cpp
  lldb/source/Host/common/DebugInfoD.cpp


Index: lldb/source/Host/common/DebugInfoD.cpp
===================================================================
--- lldb/source/Host/common/DebugInfoD.cpp
+++ lldb/source/Host/common/DebugInfoD.cpp
@@ -11,6 +11,7 @@
 #include "lldb/Symbol/ObjectFile.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Error.h"
+#include "lldb/Host/DebugInfoD.h"
 
 #if LLDB_ENABLE_DEBUGINFOD
 #include "elfutils/debuginfod.h"
@@ -26,7 +27,7 @@
 #if !LLDB_ENABLE_DEBUGINFOD
 bool isAvailable() { return false; }
 
-llvm::Expected<UUID> getBuildIDFromModule(const ModuleSP &module) {
+UUID getBuildIDFromModule(const ModuleSP &module) {
   llvm_unreachable("debuginfod::getBuildIDFromModule is unavailable");
 };
 
@@ -39,7 +40,7 @@
 
 bool isAvailable() { return true; }
 
-llvm::Expected<UUID> getBuildIDFromModule(const ModuleSP &module) {
+UUID getBuildIDFromModule(const ModuleSP &module) {
   UUID buildID;
 
   if (!module)
Index: lldb/source/Core/SourceManager.cpp
===================================================================
--- lldb/source/Core/SourceManager.cpp
+++ lldb/source/Core/SourceManager.cpp
@@ -460,25 +460,18 @@
       // Try finding the file using elfutils' debuginfod
       if (!FileSystem::Instance().Exists(m_file_spec) &&
           debuginfod::isAvailable() && sc.module_sp) {
-        llvm::Expected<UUID> buildID =
-            debuginfod::getBuildIDFromModule(sc.module_sp);
-        if (auto err = buildID.takeError()) {
-          sc.module_sp->ReportWarning("An error occurred while getting the "
-                                      "build ID from the module: %s",
+        UUID buildID = debuginfod::getBuildIDFromModule(sc.module_sp);
+        std::string cache_path;
+        llvm::Error err =
+            debuginfod::findSource(buildID, file_spec.GetCString(), 
cache_path);
+        if (err) {
+          sc.module_sp->ReportWarning("An error occurred while finding the "
+                                      "source file %s using debuginfod: %s",
+                                      file_spec.GetCString(),
                                       llvm::toString(std::move(err)).c_str());
         } else {
-          std::string cache_path;
-          err = debuginfod::findSource(*buildID, file_spec.GetCString(),
-                                       cache_path);
-          if (err) {
-            sc.module_sp->ReportWarning("An error occurred while finding the "
-                                        "source file %s using debuginfod: %s",
-                                        file_spec.GetCString(),
-                                        
llvm::toString(std::move(err)).c_str());
-          } else {
-            m_file_spec = FileSpec(cache_path);
-            m_mod_time = 
FileSystem::Instance().GetModificationTime(cache_path);
-          }
+          m_file_spec = FileSpec(cache_path);
+          m_mod_time = FileSystem::Instance().GetModificationTime(cache_path);
         }
       }
     }
Index: lldb/include/lldb/Host/DebugInfoD.h
===================================================================
--- lldb/include/lldb/Host/DebugInfoD.h
+++ lldb/include/lldb/Host/DebugInfoD.h
@@ -21,7 +21,7 @@
        
 bool isAvailable();
 
-llvm::Expected<UUID> getBuildIDFromModule(const lldb::ModuleSP &module);
+UUID getBuildIDFromModule(const lldb::ModuleSP &module);
 
 llvm::Error findSource(UUID buildID, const std::string &path,
                        std::string &result_path);


Index: lldb/source/Host/common/DebugInfoD.cpp
===================================================================
--- lldb/source/Host/common/DebugInfoD.cpp
+++ lldb/source/Host/common/DebugInfoD.cpp
@@ -11,6 +11,7 @@
 #include "lldb/Symbol/ObjectFile.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Error.h"
+#include "lldb/Host/DebugInfoD.h"
 
 #if LLDB_ENABLE_DEBUGINFOD
 #include "elfutils/debuginfod.h"
@@ -26,7 +27,7 @@
 #if !LLDB_ENABLE_DEBUGINFOD
 bool isAvailable() { return false; }
 
-llvm::Expected<UUID> getBuildIDFromModule(const ModuleSP &module) {
+UUID getBuildIDFromModule(const ModuleSP &module) {
   llvm_unreachable("debuginfod::getBuildIDFromModule is unavailable");
 };
 
@@ -39,7 +40,7 @@
 
 bool isAvailable() { return true; }
 
-llvm::Expected<UUID> getBuildIDFromModule(const ModuleSP &module) {
+UUID getBuildIDFromModule(const ModuleSP &module) {
   UUID buildID;
 
   if (!module)
Index: lldb/source/Core/SourceManager.cpp
===================================================================
--- lldb/source/Core/SourceManager.cpp
+++ lldb/source/Core/SourceManager.cpp
@@ -460,25 +460,18 @@
       // Try finding the file using elfutils' debuginfod
       if (!FileSystem::Instance().Exists(m_file_spec) &&
           debuginfod::isAvailable() && sc.module_sp) {
-        llvm::Expected<UUID> buildID =
-            debuginfod::getBuildIDFromModule(sc.module_sp);
-        if (auto err = buildID.takeError()) {
-          sc.module_sp->ReportWarning("An error occurred while getting the "
-                                      "build ID from the module: %s",
+        UUID buildID = debuginfod::getBuildIDFromModule(sc.module_sp);
+        std::string cache_path;
+        llvm::Error err =
+            debuginfod::findSource(buildID, file_spec.GetCString(), cache_path);
+        if (err) {
+          sc.module_sp->ReportWarning("An error occurred while finding the "
+                                      "source file %s using debuginfod: %s",
+                                      file_spec.GetCString(),
                                       llvm::toString(std::move(err)).c_str());
         } else {
-          std::string cache_path;
-          err = debuginfod::findSource(*buildID, file_spec.GetCString(),
-                                       cache_path);
-          if (err) {
-            sc.module_sp->ReportWarning("An error occurred while finding the "
-                                        "source file %s using debuginfod: %s",
-                                        file_spec.GetCString(),
-                                        llvm::toString(std::move(err)).c_str());
-          } else {
-            m_file_spec = FileSpec(cache_path);
-            m_mod_time = FileSystem::Instance().GetModificationTime(cache_path);
-          }
+          m_file_spec = FileSpec(cache_path);
+          m_mod_time = FileSystem::Instance().GetModificationTime(cache_path);
         }
       }
     }
Index: lldb/include/lldb/Host/DebugInfoD.h
===================================================================
--- lldb/include/lldb/Host/DebugInfoD.h
+++ lldb/include/lldb/Host/DebugInfoD.h
@@ -21,7 +21,7 @@
 	
 bool isAvailable();
 
-llvm::Expected<UUID> getBuildIDFromModule(const lldb::ModuleSP &module);
+UUID getBuildIDFromModule(const lldb::ModuleSP &module);
 
 llvm::Error findSource(UUID buildID, const std::string &path,
                        std::string &result_path);
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] [PAT... Konrad Wilhelm Kleine via Phabricator via lldb-commits

Reply via email to