6 Commits

Author SHA1 Message Date
Stefan Gränitz
39d6bb2180
[lldb] Add HTTP support in SymbolLocatorSymStore (#186986)
The initial version of SymbolLocatorSymStore supported servers only on
local paths. This patch extends it to HTTP/HTTPS end-points. For that to
work on Windows, we add a WinHTTP-based HTTP client backend in LLVM next
to the existing CURL-based implementation.

We don't add a HTTP server implementation, because there is no use right
now. Test coverage for the LLVM part is built on llvm-debuginfod-find
and works server-less, since it checks textual output of request
headers. The existing CURL-based implementation uses the same approach.
The LLDB API test for the specific SymbolLocatorSymStore feature spawns
a HTTP server from Python.

To keep the size of this patch within reasonable limits, the initial
implementation of the SymbolLocatorSymStore feature is dump: There is no
caching, no verification of downloaded files and no protection against
file corruptions. We use a local implementation of LLVM's
HTTPResponseHandler, but should think about extracting and reusing
Debuginfod's StreamedHTTPResponseHandler in the future.

The goal of this patch is a basic working implementation that is
testable in isolation. We will iterate on it to improve it further. This
should be fine since downloading from SymStores is not default-enabled
yet. Users have to set their server URLs explicitly.

---------

Co-authored-by: Alexandre Ganea <aganea@havenstudios.com>
2026-03-20 12:47:45 +01:00
Stefan Gränitz
5eaf19a151
Re-reland "[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC)" (#186074)
Relocate HTTPClient and HTTPServer from the Debuginfod library to
llvm/Support/HTTP so they can be reused by other components.

---------

Relanding with fixes in CMakeLists.txt to account for dependency to new LLVMSupportHTTP in tools.
Relanding with one more fix in libSupportHTTP that adds it as a component in libLLVM.so

---------

Co-authored-by: Alexandre Ganea <aganea@havenstudios.com>
Co-authored-by: Jonas Devlieghere <jonas@devlieghere.com>
2026-03-12 15:20:48 +01:00
Stefan Gränitz
90bb98cee9
Revert "Reland "[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC)"" (#186051)
Reverts llvm/llvm-project#185410

Looks like I have to check polly a well
2026-03-12 08:42:20 +01:00
Stefan Gränitz
4ede3b55cf
Reland "[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC)" (#185410)
Relocate HTTPClient and HTTPServer from the Debuginfod library to
llvm/Support/HTTP so they can be reused by other components.

---------

Relanding with fixes in CMakeLists.txt to account for dependency to new
LLVMSupportHTTP in tools.

---------

Co-authored-by: Alexandre Ganea <aganea@havenstudios.com>
Co-authored-by: Jonas Devlieghere <jonas@devlieghere.com>
2026-03-12 08:14:03 +01:00
Jan Patrick Lehr
d0a8fccfb2
Revert "[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC)" (#185372)
Reverts llvm/llvm-project#184572

Breaks many buildbots.
2026-03-09 09:44:27 +01:00
Stefan Gränitz
04dbbd414f
[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC) (#184572)
Relocate HTTPClient and HTTPServer from the Debuginfod library to
llvm/Support/HTTP so they can be reused by other components.

---------

Co-authored-by: Alexandre Ganea <aganea@havenstudios.com>
Co-authored-by: Jonas Devlieghere <jonas@devlieghere.com>
2026-03-09 07:17:16 +01:00