Author: Joseph Huber Date: 2023-05-11T16:02:54-05:00 New Revision: 027aeec7da67afe33b159f5e42dec57488897454
URL: https://github.com/llvm/llvm-project/commit/027aeec7da67afe33b159f5e42dec57488897454 DIFF: https://github.com/llvm/llvm-project/commit/027aeec7da67afe33b159f5e42dec57488897454.diff LOG: [Clang] Respect `-L` options when compiling directly for AMDGPU The AMDGPU linker is `lld`, which has full support for standard features like static libraries. Previously the AMDGPU toolchain did not forward `-L` arguments so we could not tell it where to find certain libraries. This patch simply forwards it like the other toolchains. Reviewed By: yaxunl, MaskRay Differential Revision: https://reviews.llvm.org/D150013 Added: Modified: clang/lib/Driver/ToolChains/CommonArgs.cpp clang/test/Driver/amdgpu-toolchain.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index a6247b4cbe4ea..189c99e18572a 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -232,9 +232,11 @@ void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs, Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input); // LIBRARY_PATH are included before user inputs and only supported on native - // toolchains. + // toolchains. Otherwise only add the '-L' arguments requested by the user. if (!TC.isCrossCompiling()) addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH"); + else + Args.AddAllArgs(CmdArgs, options::OPT_L); for (const auto &II : Inputs) { // If the current tool chain refers to an OpenMP offloading host, we diff --git a/clang/test/Driver/amdgpu-toolchain.c b/clang/test/Driver/amdgpu-toolchain.c index b8b6667333d81..288dbbedd49d5 100644 --- a/clang/test/Driver/amdgpu-toolchain.c +++ b/clang/test/Driver/amdgpu-toolchain.c @@ -11,6 +11,6 @@ // DWARF_VER: "-dwarf-version=5" // RUN: %clang -### --target=amdgcn-amd-amdhsa -mcpu=gfx906 -nogpulib \ -// RUN: -flto -fconvergent-functions %s 2>&1 | FileCheck -check-prefix=LTO %s +// RUN: -L. -flto -fconvergent-functions %s 2>&1 | FileCheck -check-prefix=LTO %s // LTO: clang{{.*}} "-flto=full"{{.*}}"-fconvergent-functions" -// LTO: ld.lld{{.*}}-plugin-opt=mcpu=gfx906 +// LTO: ld.lld{{.*}}"-L."{{.*}}"-plugin-opt=mcpu=gfx906" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits