[clang] 750e64d - [UEFI] Add driver path to program paths list (#162387)

via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 8 10:19:05 PDT 2025


Author: Prabhu Rajasekaran
Date: 2025-10-08T10:19:01-07:00
New Revision: 750e64d07188dbb829c30489ef318ac8d6ce4869

URL: https://github.com/llvm/llvm-project/commit/750e64d07188dbb829c30489ef318ac8d6ce4869
DIFF: https://github.com/llvm/llvm-project/commit/750e64d07188dbb829c30489ef318ac8d6ce4869.diff

LOG: [UEFI] Add driver path to program paths list (#162387)

UEFI toolchain driver implementation does not set the path where tools
such as lld-link can be found. This patch fixes that.

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/UEFI.cpp
    clang/test/Driver/fuse-ld.c
    clang/test/Driver/uefi-constructed-args.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/UEFI.cpp b/clang/lib/Driver/ToolChains/UEFI.cpp
index 75adbf149197b..d2be147c7b9f6 100644
--- a/clang/lib/Driver/ToolChains/UEFI.cpp
+++ b/clang/lib/Driver/ToolChains/UEFI.cpp
@@ -24,7 +24,9 @@ using namespace clang;
 using namespace llvm::opt;
 
 UEFI::UEFI(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
-    : ToolChain(D, Triple, Args) {}
+    : ToolChain(D, Triple, Args) {
+  getProgramPaths().push_back(getDriver().Dir);
+}
 
 Tool *UEFI::buildLinker() const { return new tools::uefi::Linker(*this); }
 

diff  --git a/clang/test/Driver/fuse-ld.c b/clang/test/Driver/fuse-ld.c
index f807434dad107..cdcd5126507db 100644
--- a/clang/test/Driver/fuse-ld.c
+++ b/clang/test/Driver/fuse-ld.c
@@ -101,3 +101,8 @@
 // RUN:   | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-BFD
 // CHECK-WINDOWS-MSVC-BFD: "{{.*}}ld.bfd"
 // CHECK-WINDOWS-MSVC-BFD-SAME: "-o"
+
+// RUN: %clang %s -### -fuse-ld=lld \
+// RUN:     --target=x86_64-unknown-uefi 2>&1 \
+// RUN:   | FileCheck %s --check-prefix CHECK-UEFI-LLD-LINK
+// CHECK-UEFI-LLD-LINK: "{{.*}}lld-link

diff  --git a/clang/test/Driver/uefi-constructed-args.c b/clang/test/Driver/uefi-constructed-args.c
index c06cce351d654..b06920f6fd4a3 100644
--- a/clang/test/Driver/uefi-constructed-args.c
+++ b/clang/test/Driver/uefi-constructed-args.c
@@ -12,3 +12,8 @@
 // CHECK-SAME: "/entry:EfiMain"
 // CHECK-SAME: "/tsaware:no"
 // CHECK-SAME: "/debug"
+
+// RUN: %clang -### --target=x86_64-unknown-uefi -print-search-dirs 2>&1 \
+// RUN:     | FileCheck -check-prefixes=PROGPATH %s
+// PROGPATH: InstalledDir: [[DRIVER_INSTALLED_DIR:.*]]
+// PROGPATH: programs: =[[DRIVER_INSTALLED_DIR]]


        


More information about the cfe-commits mailing list