https://github.com/quic-k created https://github.com/llvm/llvm-project/pull/228982
Fixes https://github.com/llvm/llvm-project/issues/227780 >From 26672e20ee5efe1b44022f8d852d93c025365043 Mon Sep 17 00:00:00 2001 From: Kushal Pal <[email protected]> Date: Mon, 5 Oct 2026 11:38:52 +0530 Subject: [PATCH] [Hexagon][Driver] Recognize versioned ld.lld as LLD Signed-off-by: Kushal Pal <[email protected]> --- clang/lib/Driver/ToolChains/Hexagon.cpp | 2 +- clang/test/Driver/hexagon-toolchain-elf.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp index ec2641301909d..66a92ec88dbd3 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -302,7 +302,7 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA, bool IncDefLibs = !Args.hasArg(options::OPT_nodefaultlibs); bool UseLLD = false; const char *Exec = Args.MakeArgString(HTC.GetLinkerPath(&UseLLD)); - UseLLD = UseLLD || llvm::sys::path::filename(Exec).ends_with("ld.lld") || + UseLLD = UseLLD || llvm::sys::path::filename(Exec).starts_with("ld.lld") || llvm::sys::path::stem(Exec).ends_with("ld.lld"); bool UseShared = IsShared && !IsStatic; StringRef CpuVer = toolchains::HexagonToolChain::GetTargetCPUVersion(Args); diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c index 2832a8393feb7..6791f003860fd 100644 --- a/clang/test/Driver/hexagon-toolchain-elf.c +++ b/clang/test/Driver/hexagon-toolchain-elf.c @@ -704,3 +704,17 @@ // RUN: %t.o 2>&1 | FileCheck -check-prefix=CHECK-LTO %s // CHECK-LTO: "-plugin-opt=thinlto" // CHECK-LTO: "-plugin-opt=-enable-matrix" + +// ----------------------------------------------------------------------------- +// Versioned ld.lld is recognized as LLD +// ----------------------------------------------------------------------------- +// RUN: mkdir -p %t +// RUN: cp %S/Inputs/hexagon_tree/Tools/bin/ld.lld %t/ld.lld-23 +// RUN: %clang -### --target=hexagon-unknown-elf \ +// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \ +// RUN: -mcpu=hexagonv60 --ld-path=%t/ld.lld-23 \ +// RUN: -nostdlib %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK-VERSIONED-LLD %s +// CHECK-VERSIONED-LLD: "{{.*}}ld.lld-23" +// CHECK-VERSIONED-LLD-NOT: "-march=hexagon" +// CHECK-VERSIONED-LLD-NOT: "-mcpu=hexagonv60" _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
