[llvm] aaec63d - Revert "[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer."

Noah Shutty via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 8 10:50:37 PST 2021


Author: Noah Shutty
Date: 2021-12-08T18:49:12Z
New Revision: aaec63d2a7dbab5f0bff5525d35c9cb5c463a8ac

URL: https://github.com/llvm/llvm-project/commit/aaec63d2a7dbab5f0bff5525d35c9cb5c463a8ac
DIFF: https://github.com/llvm/llvm-project/commit/aaec63d2a7dbab5f0bff5525d35c9cb5c463a8ac.diff

LOG: Revert "[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer."

This reverts commit 02cc8d698c4941f8f0120ea1a5d7205fb33a312d because it
caused buildbot failures. The issue appears to be simply that we need to
only enable debuginfod when the HTTPClient has been initialized by the
running tool, since InitLLVM does not do the initialization step anymore.

Added: 
    

Modified: 
    llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
    llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    llvm/tools/llvm-symbolizer/CMakeLists.txt
    llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

Removed: 
    llvm/test/tools/llvm-symbolizer/debuginfod.test


################################################################################
diff  --git a/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt b/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
index c20ba897e0b80..acfb3bd0e1ad9 100644
--- a/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
@@ -9,7 +9,6 @@ add_llvm_component_library(LLVMSymbolize
   LINK_COMPONENTS
   DebugInfoDWARF
   DebugInfoPDB
-  Debuginfod
   Object
   Support
   Demangle

diff  --git a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
index 5ec79df17fed9..f3f09584fdc97 100644
--- a/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
+++ b/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
@@ -20,7 +20,6 @@
 #include "llvm/DebugInfo/DWARF/DWARFContext.h"
 #include "llvm/DebugInfo/PDB/PDB.h"
 #include "llvm/DebugInfo/PDB/PDBContext.h"
-#include "llvm/Debuginfod/Debuginfod.h"
 #include "llvm/Demangle/Demangle.h"
 #include "llvm/Object/COFF.h"
 #include "llvm/Object/MachO.h"
@@ -385,14 +384,7 @@ bool findDebugBinary(const std::vector<std::string> &DebugFileDirectory,
       }
     }
   }
-  // Try debuginfod client cache and known servers.
-  Expected<std::string> PathOrErr = getCachedOrDownloadDebuginfo(BuildID);
-  if (!PathOrErr) {
-    consumeError(PathOrErr.takeError());
-    return false;
-  }
-  Result = *PathOrErr;
-  return true;
+  return false;
 }
 
 } // end anonymous namespace

diff  --git a/llvm/test/tools/llvm-symbolizer/debuginfod.test b/llvm/test/tools/llvm-symbolizer/debuginfod.test
deleted file mode 100644
index 93160f395d39e..0000000000000
--- a/llvm/test/tools/llvm-symbolizer/debuginfod.test
+++ /dev/null
@@ -1,27 +0,0 @@
-# This test uses the local debuginfod cache to test the symbolizer integration
-# with the debuginfod client.
-RUN: rm -rf %t
-RUN: mkdir %t
-
-# Produce a stripped copy of the input binary addr.exe
-RUN: llvm-objcopy --strip-debug %p/Inputs/addr.exe %t/addr.exe
-
-# Symbolizing the stripped binary should fail.
-RUN: env DEBUGINFOD_CACHE_PATH=%t llvm-symbolizer --print-address \
-RUN:   --obj=%t/addr.exe 0x40054d | FileCheck %s --check-prefix=NOTFOUND
-NOTFOUND: 0x40054d
-NOTFOUND-NEXT: main
-NOTFOUND-NEXT: ??:0:0
-
-# Use llvm-objcopy to write the debuginfo of the addr.exe binary to an
-# appropriately-named file in the llvm debuginfod cache. The filename is
-# determined by the debuginfod client's caching scheme, so it is manually
-# specified here as llvmcache-98...19
-RUN: llvm-objcopy --keep-section=.debug_info %p/Inputs/addr.exe \
-RUN:   %t/llvmcache-9800707741016212219
-
-# The symbolizer should call the debuginfod client library, which finds the
-# debuginfo placed in the cache, enabling symbolization of the address.
-RUN: env DEBUGINFOD_CACHE_PATH=%t llvm-symbolizer \
-RUN:   --obj=%t/addr.exe 0x40054d | FileCheck %s --check-prefix=FOUND
-FOUND: {{[/\]+}}tmp{{[/\]+}}x.c:14:0

diff  --git a/llvm/tools/llvm-symbolizer/CMakeLists.txt b/llvm/tools/llvm-symbolizer/CMakeLists.txt
index 583caec560184..c112e344da7ea 100644
--- a/llvm/tools/llvm-symbolizer/CMakeLists.txt
+++ b/llvm/tools/llvm-symbolizer/CMakeLists.txt
@@ -10,7 +10,6 @@ add_public_tablegen_target(SymbolizerOptsTableGen)
 set(LLVM_LINK_COMPONENTS
   DebugInfoDWARF
   DebugInfoPDB
-  Debuginfod
   Demangle
   Object
   Option

diff  --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 3b65a3ea71f2b..2adbf1f1731df 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -19,7 +19,6 @@
 #include "llvm/Config/config.h"
 #include "llvm/DebugInfo/Symbolize/DIPrinter.h"
 #include "llvm/DebugInfo/Symbolize/Symbolize.h"
-#include "llvm/Debuginfod/HTTPClient.h"
 #include "llvm/Option/Arg.h"
 #include "llvm/Option/ArgList.h"
 #include "llvm/Option/Option.h"
@@ -262,8 +261,6 @@ static FunctionNameKind decideHowToPrintFunctions(const opt::InputArgList &Args,
 
 int main(int argc, char **argv) {
   InitLLVM X(argc, argv);
-  // The HTTPClient must be initialized for use by the debuginfod client.
-  HTTPClient::initialize();
   sys::InitializeCOMRAII COM(sys::COMThreadingMode::MultiThreaded);
 
   bool IsAddr2Line = sys::path::stem(argv[0]).contains("addr2line");
@@ -360,6 +357,5 @@ int main(int argc, char **argv) {
     Printer->listEnd();
   }
 
-  HTTPClient::cleanup();
   return 0;
 }


        


More information about the llvm-commits mailing list