Revert "[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer."
authorNoah Shutty <shutty@google.com>
Wed, 8 Dec 2021 18:49:12 +0000 (18:49 +0000)
committerNoah Shutty <shutty@google.com>
Wed, 8 Dec 2021 18:49:12 +0000 (18:49 +0000)
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.

llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
llvm/test/tools/llvm-symbolizer/debuginfod.test [deleted file]
llvm/tools/llvm-symbolizer/CMakeLists.txt
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

index c20ba89..acfb3bd 100644 (file)
@@ -9,7 +9,6 @@ add_llvm_component_library(LLVMSymbolize
   LINK_COMPONENTS
   DebugInfoDWARF
   DebugInfoPDB
-  Debuginfod
   Object
   Support
   Demangle
index 5ec79df..f3f0958 100644 (file)
@@ -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 (file)
index 93160f3..0000000
+++ /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
index 583caec..c112e34 100644 (file)
@@ -10,7 +10,6 @@ add_public_tablegen_target(SymbolizerOptsTableGen)
 set(LLVM_LINK_COMPONENTS
   DebugInfoDWARF
   DebugInfoPDB
-  Debuginfod
   Demangle
   Object
   Option
index 3b65a3e..2adbf1f 100644 (file)
@@ -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;
 }