[llvm] [llvm] Add DEBUGINFOD_VERBOSE and log dropped error to stderr (PR #188967)
Stefan Gränitz via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 27 04:22:59 PDT 2026
https://github.com/weliveindetail updated https://github.com/llvm/llvm-project/pull/188967
>From 6b9d9a9f8c022afa60f197cd13ffd1b2aa949f1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <stefan.graenitz at gmail.com>
Date: Fri, 27 Mar 2026 11:34:51 +0100
Subject: [PATCH 1/2] [llvm] Add DEBUGINFOD_VERBOSE and log dropped error to
stderr
---
llvm/lib/Debuginfod/BuildIDFetcher.cpp | 6 +++++-
llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test | 6 +++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Debuginfod/BuildIDFetcher.cpp b/llvm/lib/Debuginfod/BuildIDFetcher.cpp
index a7f13104abee1..6cdc6a08bf468 100644
--- a/llvm/lib/Debuginfod/BuildIDFetcher.cpp
+++ b/llvm/lib/Debuginfod/BuildIDFetcher.cpp
@@ -26,6 +26,10 @@ DebuginfodFetcher::fetch(ArrayRef<uint8_t> BuildID) const {
Expected<std::string> PathOrErr = getCachedOrDownloadDebuginfo(BuildID);
if (PathOrErr)
return *PathOrErr;
- consumeError(PathOrErr.takeError());
+ Error Err = PathOrErr.takeError();
+ if (std::getenv("DEBUGINFOD_VERBOSE"))
+ llvm::errs() << "Debuginfod error: " << Err << "\n";
+ else
+ consumeError(std::move(Err));
return std::nullopt;
}
diff --git a/llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test b/llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
index 9b614790694e8..18faa994a67dc 100644
--- a/llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
+++ b/llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
@@ -7,15 +7,15 @@ RUN: rm -rf %t
RUN: mkdir -p %t/debuginfod-cache
RUN: %python %S/Inputs/capture_req.py llvm-debuginfod-find --debuginfo 0 \
RUN: | FileCheck --check-prefix NO-HEADERS %s
-RUN: env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=bad %python %S/Inputs/capture_req.py \
+RUN: env DEBUGINFOD_VERBOSE=1 env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=bad %python %S/Inputs/capture_req.py \
RUN: llvm-debuginfod-find --debuginfo 0 \
RUN: | FileCheck --check-prefix NO-HEADERS %s
RUN: rm -rf %t/debuginfod-cache/*
-RUN: env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=%S/Inputs/headers %python %S/Inputs/capture_req.py \
+RUN: env DEBUGINFOD_VERBOSE=1 env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=%S/Inputs/headers %python %S/Inputs/capture_req.py \
RUN: llvm-debuginfod-find --debuginfo 0 \
RUN: | FileCheck --check-prefix HEADERS %s
RUN: rm -rf %t/debuginfod-cache/*
-RUN: env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=%S/Inputs/headers DEBUGINFOD_URLS=fake not llvm-debuginfod-find --debuginfo 0 2>&1 \
+RUN: env DEBUGINFOD_VERBOSE=1 env DEBUGINFOD_CACHE=%t/debuginfod-cache DEBUGINFOD_HEADERS_FILE=%S/Inputs/headers DEBUGINFOD_URLS=fake not llvm-debuginfod-find --debuginfo 0 2>&1 \
RUN: | FileCheck --check-prefix ERR -DHEADER_FILE=%S/Inputs/headers %s
NO-HEADERS: User-Agent: LLVM-HTTPClient/1.0
>From 772b10e74d29a7d6dd1bd09925fe73a0df51fa1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <stefan.graenitz at gmail.com>
Date: Fri, 27 Mar 2026 12:19:00 +0100
Subject: [PATCH 2/2] Prefer logAllUnhandledErrors() and and keep consuming it
unconditionally
---
llvm/lib/Debuginfod/BuildIDFetcher.cpp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Debuginfod/BuildIDFetcher.cpp b/llvm/lib/Debuginfod/BuildIDFetcher.cpp
index 6cdc6a08bf468..7a4ade0f2f4e1 100644
--- a/llvm/lib/Debuginfod/BuildIDFetcher.cpp
+++ b/llvm/lib/Debuginfod/BuildIDFetcher.cpp
@@ -28,8 +28,7 @@ DebuginfodFetcher::fetch(ArrayRef<uint8_t> BuildID) const {
return *PathOrErr;
Error Err = PathOrErr.takeError();
if (std::getenv("DEBUGINFOD_VERBOSE"))
- llvm::errs() << "Debuginfod error: " << Err << "\n";
- else
- consumeError(std::move(Err));
+ logAllUnhandledErrors(std::move(Err), llvm::errs(), "Debuginfod error: ");
+ consumeError(std::move(Err));
return std::nullopt;
}
More information about the llvm-commits
mailing list