diff options
author | Noah Shutty <noahshutty@gmail.com> | 2022-07-07 17:55:25 +0000 |
---|---|---|
committer | Noah Shutty <noahshutty@gmail.com> | 2022-07-07 18:33:27 +0000 |
commit | 36f01909a0e29c1014301ed6835687a84bf0e9fa (patch) | |
tree | 33cce8d7c4411fe8816fc413bec2da676a4eab35 /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | 472aa7e6bbc384707b992c5326462fb764489ecc (diff) | |
download | llvm-36f01909a0e29c1014301ed6835687a84bf0e9fa.zip llvm-36f01909a0e29c1014301ed6835687a84bf0e9fa.tar.gz llvm-36f01909a0e29c1014301ed6835687a84bf0e9fa.tar.bz2 |
[llvm] [Debuginfod] LLVM debuginfod server.
This implements a debuginfod server in llvm using the `DebuginfodCollection` and `DebuginfodServer` classes. This is tested with lit tests against the debuginfod-find client.
The server scans 0 or more local directories for artifacts. It serves the debuginfod protocol over HTTP. Only the `executable` and `debuginfo` endpoints are supported (no `/source` endpoint).
The server also uses the debuginfod client as a fallback, so it can hit the local debuginfod cache or federate to other known debuginfod servers.
The client behavior is controllable through the standard environment variables (`DEBUGINFOD_URLS`, `DEBUGINFOD_CACHE_PATH`, `DEBUGINFOD_TIMEOUT`)
The server implements on-demand collection updates as follows:
If the build-id is not found by a local lookup, rescan immediately and look up the build-id again before returning 404. To protect against DoS attacks, do not rescan more frequently than once per N seconds (specified by `-m`).
Lit tests are provided which test the `llvm-debuginfod-find` client against the `llvm-debuginfod` server.
Reviewed By: mysterymath
Differential Revision: https://reviews.llvm.org/D114846
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions