15 Commits

Author SHA1 Message Date
Daniel Thornburgh
f2357daf12
[Debuginfod] Accept compressed encodings in client (#68055)
All encodings that the underlying libcurl supports are automatically
detected and accepted. libcurl will then decompress on the fly. This
improves effective network transfer rate and prevents server-side
decompression for files stored compressed.

Fixes #63534
2023-10-03 10:00:30 -07:00
Fangrui Song
099f4e236c [llvm-debuginfod] Switch to xxh3_64bits
Many sources show that xxh3 is much better than xxh64. This particular
instance may or may not have noticeable difference, but this change
moves us toward removing xxHash64.

This change will invalid cache.

Reviewed By: mysterymath

Differential Revision: https://reviews.llvm.org/D155993
2023-08-11 12:37:18 -07:00
Daniel Thornburgh
6be453ed7f [debuginfod] Use dedicated cache dir for tests 2023-07-12 14:28:56 -07:00
Tobias Hieta
b71edfaa4e
[NFC][Py Reformat] Reformat python files in llvm
This is the first commit in a series that will reformat
all the python files in the LLVM repository.

Reformatting is done with `black`.

See more information here:

https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Reviewed By: jhenderson, JDevlieghere, MatzeB

Differential Revision: https://reviews.llvm.org/D150545
2023-05-17 10:48:52 +02:00
Daniel Thornburgh
cd935224c0 [Debuginfod] Prune cache after fetch.
Previously, the size of the debuginfod cache would grow without bound.
This change prunes the cache after a successful debuginfod lookup, as is
done in libdebuginfod.

The cache pruning behavior is configured by a new
DEBUGINFOD_CACHE_POLICY environment variable. The semantics of this are
the same as --thinlto_cache_policy.

Reviewed By: gulfem

Differential Revision: https://reviews.llvm.org/D145618
2023-03-10 12:12:44 -08:00
Daniel Thornburgh
20d6f630c8 [llvm-debuginfod-find] Fix test/behavior on Windows. 2022-11-08 09:52:33 -08:00
Daniel Thornburgh
32a02a9c6b [Debuginfod] DEBUGINFOD_HEADERS_FILE environment variable
This change adds a DEBUGINFOD_HEADERS_FILE environment variable provides
a file containing HTTP headers to attach to outgoing HTTP requests, one
per line. This allows a file permissioned with OS access control
mechanisms to supply bearer credentials for Debuginfod requests.

This matches the mechanism recently added to elfutils' libdebuginfod.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D136303
2022-11-07 16:34:37 -08:00
Noah Shutty
038b9ed395 [llvm] [Debuginfod] Remove llvm-debuginfod-find lit tests that used python http server.
These tests depend on `ThreadingHTTPServer` which was not introduced until python 3.7 so we might as well delete them to avoid issues. Most of their functionality is now covered by the llvm-debuginfod.test for the debuginfod server.

Reviewed By: mysterymath

Differential Revision: https://reviews.llvm.org/D119096
2022-08-30 01:32:34 +00:00
Daniel Thornburgh
eafa053041 [Debuginfod] Add --debug-file-directory to llvm-debuginfod-find.
This allows llvm-debuginfod-find to locate binaries in local build ID
directories configured via --debug-file-directory, the same flag used
for this purpose by llvm-symbolizer. This provides a consistent lookup
semantics between the two tools when configured the same way, in
particular when debug binaries may be located either locally or
remotely.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D125864
2022-05-18 16:56:57 +00:00
Daniel Thornburgh
fd575ae29a [Debuginfod] Use env to fix debuginfod.test on Win32. 2022-03-30 21:38:12 +00:00
Fangrui Song
42f9ca55dd [Debuginfod][test] Fix debuginfod.test to use %python instead of python after D112759 2022-02-04 17:32:00 -08:00
Noah Shutty
35ccde20ea [Debuginfod] Remove f-string from llvm-debuginfod-find lit test.
This removes a python3 f-String from the llvm-debuginfod-find lit test script to maximize compatibility with different python versions, as it seemed to cause some issues.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D115814
2021-12-16 19:22:13 +00:00
Noah Shutty
f0ca8d2461 [llvm] [Debuginfo] Add llvm-debuginfod-find tool and end-to-end-tests.
This implements the `llvm-debuginfod-find` tool, which wraps the Debuginfod library (D112758) to query debuginfod servers for artifacts according to the [[ https://www.mankier.com/8/debuginfod#Webapi | specification ]].

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D112759
2021-12-14 18:00:18 +00:00
Noah Shutty
0f30012def Revert "[llvm] [Debuginfo] Add llvm-debuginfod-find tool and end-to-end-tests."
This reverts commit 350fe22f2a7f16791f9269fd50f1fca1e7fa74d1 because it
caused buildbot breakages (https://lab.llvm.org/buildbot/#/builders/91/builds/387).
2021-12-10 11:08:15 +00:00
Noah Shutty
350fe22f2a [llvm] [Debuginfo] Add llvm-debuginfod-find tool and end-to-end-tests.
This implements the `llvm-debuginfod-find` tool, which wraps the Debuginfod library (D112758) to query debuginfod servers for artifacts according to the [[ https://www.mankier.com/8/debuginfod#Webapi | specification ]].

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D112759
2021-12-10 10:33:52 +00:00