[PATCH] D70919: [Hexagon] Avoid passing unsupported options to lld when -fuse-ld=lld is used
Nathan Chancellor via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 13 16:13:23 PST 2020
nathanchance added a comment.
I am seeing the same failure that @leonardchan reported above. This is related to `-DCLANG_DEFAULT_LINKER=lld`:
$ cmake -G Ninja \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCLANG_DEFAULT_LINKER=lld \
-DPYTHON_EXECUTABLE=$(command -v python3) \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
../llvm && \
ninja lld check-clang
...
Failing Tests (1):
Clang :: Driver/hexagon-toolchain-elf.c
Expected Passes : 16530
Expected Failures : 21
Unsupported Tests : 98
Unexpected Failures: 1
...
$ cmake -G Ninja \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE=$(command -v python3) \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
../llvm && \
ninja lld check-clang
...
Expected Passes : 16531
Expected Failures : 21
Unsupported Tests : 98
...
The test assumes that if `-fuse-ld` is not passed, we are not using `ld.lld` but that is clearly false when `-DCLANG_DEFAULT_LINKER=lld` is set. It seems like an explicit `-fuse-ld=ld` should be used so we are guaranteed to hit https://elixir.bootlin.com/llvm/llvmorg-10-init/source/clang/lib/Driver/ToolChain.cpp#L501?
diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c
index cf7d8bdb393..c9b5e20c41a 100644
--- a/clang/test/Driver/hexagon-toolchain-elf.c
+++ b/clang/test/Driver/hexagon-toolchain-elf.c
@@ -538,11 +538,12 @@
// CHECK080: "-Wreturn-type"
// -----------------------------------------------------------------------------
-// Default, not passing -fuse-ld
+// Default, using system linker
// -----------------------------------------------------------------------------
// RUN: %clang -### -target hexagon-unknown-elf \
// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
// RUN: -mcpu=hexagonv60 \
+// RUN: -fuse-ld=ld \
// RUN: %s 2>&1 \
// RUN: | FileCheck -check-prefix=CHECK081 %s
// REQUIRES: hexagon-registered-target
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70919/new/
https://reviews.llvm.org/D70919
More information about the cfe-commits
mailing list