diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp --- a/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -383,6 +383,11 @@ if (HTC.ShouldLinkCXXStdlib(Args)) HTC.AddCXXStdlibLibArgs(Args, CmdArgs); } + const ToolChain::path_list &LibPaths = HTC.getFilePaths(); + for (const auto &LibPath : LibPaths) + CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath)); + Args.ClaimAllArgs(options::OPT_L); + return; } //---------------------------------------------------------------------------- diff --git a/clang/test/Driver/hexagon-toolchain-linux.c b/clang/test/Driver/hexagon-toolchain-linux.c --- a/clang/test/Driver/hexagon-toolchain-linux.c +++ b/clang/test/Driver/hexagon-toolchain-linux.c @@ -124,4 +124,8 @@ // RUN: --target=hexagon-unknown-linux-musl %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK010 %s // CHECK010: InstalledDir: [[INSTALLED_DIR:.+]] +// CHECK010-NOT: "-lstandalone" +// CHECK010-NOT: crt0_standalone.o +// CHECK010: crt1.o // CHECK010: "-L/tmp" +// CHECK010-NOT: "-lstandalone"