aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorNoah Shutty <shutty@google.com>2021-12-10 01:27:28 +0000
committerNoah Shutty <shutty@google.com>2021-12-10 01:32:36 +0000
commit5bba0fe12b2971a9cbc859f48ee6e6c1356c88b8 (patch)
tree180806a90b093b068594b2b6dc05c9d6d2df4e07 /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
parentd7c07f60b35f901f5bd9153b11807124a9bdde60 (diff)
downloadllvm-5bba0fe12b2971a9cbc859f48ee6e6c1356c88b8.zip
llvm-5bba0fe12b2971a9cbc859f48ee6e6c1356c88b8.tar.gz
llvm-5bba0fe12b2971a9cbc859f48ee6e6c1356c88b8.tar.bz2
[Symbolizer][Debuginfo] Add debuginfod client to llvm-symbolizer.
Adds a fallback to use the debuginfod client library (386655) in `findDebugBinary`. Fixed a cast of Erorr::success() to Expected<> in debuginfod library. Added Debuginfod to Symbolize deps in gn. Updates compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh to include Debuginfod library to fix sanitizer-x86_64-linux breakage. Reviewed By: jhenderson, vitalybuka Differential Revision: https://reviews.llvm.org/D113717
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index 2adbf1f..66a2e70 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -19,6 +19,7 @@
#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"
@@ -261,6 +262,8 @@ 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");