From 2c5d6dfda98e409f6a6b4b577ebdf59a35ff2ebe Mon Sep 17 00:00:00 2001 From: Sid Manning Date: Sat, 4 Apr 2020 19:36:00 -0500 Subject: [PATCH] [Hexagon] Make lld be the default linker for linux/musl When the target is hexagon-unknown-linux-musl select lld as the default linker. Differential Revision: https://reviews.llvm.org/D77498 --- clang/lib/Driver/ToolChains/Hexagon.h | 4 +++- clang/test/Driver/hexagon-toolchain-elf.c | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Hexagon.h b/clang/lib/Driver/ToolChains/Hexagon.h index d7b4a13d3a4f8..0158b9c42af9f 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.h +++ b/clang/lib/Driver/ToolChains/Hexagon.h @@ -81,7 +81,9 @@ class LLVM_LIBRARY_VISIBILITY HexagonToolChain : public Linux { const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; - const char *getDefaultLinker() const override { return "hexagon-link"; } + const char *getDefaultLinker() const override { + return getTriple().isMusl() ? "ld.lld" : "hexagon-link"; + } CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c index fba1a891a361d..ee5fb220d220e 100644 --- a/clang/test/Driver/hexagon-toolchain-elf.c +++ b/clang/test/Driver/hexagon-toolchain-elf.c @@ -674,3 +674,15 @@ // RUN: | FileCheck -check-prefix=CHECK090 %s // CHECK090-NOT: -fno-use-init-array // ----------------------------------------------------------------------------- +// Check default linker for musl +// ----------------------------------------------------------------------------- +// RUN: %clang -### -target hexagon-unknown-linux-musl %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK091 %s +// CHECK091: ld.lld +// ----------------------------------------------------------------------------- +// Check default linker for elf +// ----------------------------------------------------------------------------- +// RUN: %clang -### -target hexagon-unknown-elf %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHECK092 %s +// CHECK092: hexagon-link +// -----------------------------------------------------------------------------