[Lldb-commits] [lldb] Reland "[lldb][RPC] Upstream lldb-rpc-gen tool" (#146969)" Attempt 2 (PR #148996)

Chelsea Cassanova via lldb-commits lldb-commits at lists.llvm.org
Thu Jul 31 09:32:50 PDT 2025


chelcassanova wrote:

> correct, the LLDB_RPC_GEN_EXE wasn't set at all because there is no the rpc-gen tool on the build host. This is the case when the Clang/LLDB cross build uses the pre-installed external cross-platform GCC toolchain. That toolchain does not contain the rpc-gen tool and you'll not be able to build it properly with this toolchain. 

> See e.g. clang-tools-extra/clang-tidy/misc/CMakeLists.txt for an example on how they set up clang-tidy-confusable-chars-gen as a build-time tool, which gets compiled for the build host (in addition to the cross target) by using setup_host_tool, and how this tool is used for running at build time.

Ah, so we should just be able to add lldb-rpc-gen as a build host tool (instead of just a regular tool) using `setup_host_tool`?

Also, I was able to repro the build failure that @mstorsjo was seeing when building universal binaries with native Darwin. This error is surfacing because when the tool runs, clangtool needs to check the compile jobs for the headers passed into the tool. It expects to see one per header, but instead sees 2 (one for each architecture). From some googling, this error is usually solved by telling Clang to pick one architecture over the other, though I’m not sure if that’s possible from within ClangTool. Maybe when building lldb-rpc-gen for a universal binary we can tell the header files to only get processed with one architecture?

https://github.com/llvm/llvm-project/pull/148996


More information about the lldb-commits mailing list