Skip to content

[Driver] Old compiler-rt library name (e.g. libclang_rt.builtins-aarch64.a) is reported when neither old/new library directory exists #87150

Closed
@wzssyqa

Description

@wzssyqa

When we build llvm with this cmd

cmake ../llvm -G Ninja -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-linux-gnu -DLLVM_USE_LINKER=lld -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind" -DLLVM_ENABLE_PROJECTS="mlir;clang;clang-tools-extra;lld" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo

It builds successfully, while if we try do something like

./bin/clang --rtlib=compiler-rt hello.c

Something wrong happens

/usr/bin/aarch64-linux-gnu-ld: cannot find <PATH>/build-aarch64/lib/clang/19/lib/linux/libclang_rt.builtins-aarch64.a: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)

libclang_rt.builtins-aarch64.a does exists, while in a different path, with a different name

./lib/clang/19/lib/aarch64-linux-gnu/libclang_rt.builtins.a

Metadata

Metadata

Assignees

Labels

clang:driver'clang' and 'clang++' user-facing binaries. Not 'clang-cl'

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions