[clang] [Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin (PR #87866)

Martin Storsjö via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 16 10:31:16 PDT 2024


mstorsjo wrote:

> > Is it expected now that `clang --print-runtime-dir` will always have the clang host triple appended even if `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is off? I guess I was expecting to see `lib/linux` instead of `lib/x86_64-unknown-linux-gnu`.
> 
> https://reviews.llvm.org/D98868 introduced `--print-runtime-dir`. The question is whether `--print-runtime-dir` should print the legacy `lib/linux` when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is off. Personally I'd hope that `--print-runtime-dir` does not try to be smart and users should be able to expect that it always prints the new hierarchy.
> 
> With the old hierarchy, the user is expected to know how to derive `libclang_rt.builtins-aarch64.a` from `libclang_rt.builtins.a`. In this case, they can extract the directory name from `clang --print-file-name=libclang_rt.builtins-aarch64.a`.

That change doesn’t seem to explicitly say that this only is intended to be used with the new layout, and it seems like a number of different users have taken up use of this option in this way, with the old layout. So this change does seem to affect a number of  previously seemingly fully legitimate configurations in practice.

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


More information about the cfe-commits mailing list