diff options
author | David Spickett <david.spickett@linaro.org> | 2025-03-28 14:30:38 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-28 14:30:38 +0000 |
commit | 1f90a88b80998e595a3a11a7d13c333dbfa8777a (patch) | |
tree | 14c804bd4501a1a7c4bfc4aeb3a12b5c4cd13e1a /clang/lib/Frontend/TestModuleFileExtension.cpp | |
parent | 48b753027382a5815295d6680c7dd407be936c86 (diff) | |
download | llvm-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/TestModuleFileExtension.cpp')
0 files changed, 0 insertions, 0 deletions