aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2025-03-28 14:30:38 +0000
committerGitHub <noreply@github.com>2025-03-28 14:30:38 +0000
commit1f90a88b80998e595a3a11a7d13c333dbfa8777a (patch)
tree14c804bd4501a1a7c4bfc4aeb3a12b5c4cd13e1a /clang/lib/Frontend/CompilerInvocation.cpp
parent48b753027382a5815295d6680c7dd407be936c86 (diff)
downloadllvm-1f90a88b80998e595a3a11a7d13c333dbfa8777a.zip
llvm-1f90a88b80998e595a3a11a7d13c333dbfa8777a.tar.gz
llvm-1f90a88b80998e595a3a11a7d13c333dbfa8777a.tar.bz2
[libcxx] Remove clang-18 workaround in picolib build (#133254)
clang-19 changed how Arm triples were normalised and so while we supported 18 and 19, we could not hard code the path here. Now that Linaro's bots are running clang-19, and libcxx is going to drop clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I have simplified it by hard coding the path again. I also looked into why this exists in the first place. It was added in https://reviews.llvm.org/D154246 but not questioned at the time. It is due to the way we build compiler-rt, which is due to the final layout we need in the install: 1. The builtins library must be called libclang_rt.builtins.a for clang to find it. There must not be an architecture name in the filename. 2. That builtins library must be directly in lib/, next to picolib's installed files. To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON. However, that causes the file to be installed in a per-target dir which breaks number 2. So to fix that, we move the builtins library up one level into lib/. The alternative is to turn off per-target dirs, which results in a builtin file with an arch in the name, then rename and move that file (since it gets installed into lib/generic/). So in the end, it's the same amount of hacks. I think it's best to keep the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the recommended way to built these days.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions