[ELF] Pass Ctx & to InputFiles
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index d87f2d8..8b93068 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -223,7 +223,7 @@
   return std::nullopt;
 }
 
-std::optional<std::string> elf::findFromSearchPaths(StringRef path) {
+std::optional<std::string> elf::findFromSearchPaths(Ctx &ctx, StringRef path) {
   for (StringRef dir : ctx.arg.searchPaths)
     if (std::optional<std::string> s = findFile(dir, path))
       return s;
@@ -232,7 +232,8 @@
 
 // This is for -l<basename>. We'll look for lib<basename>.so or lib<basename>.a from
 // search paths.
-std::optional<std::string> elf::searchLibraryBaseName(StringRef name) {
+std::optional<std::string> elf::searchLibraryBaseName(Ctx &ctx,
+                                                      StringRef name) {
   for (StringRef dir : ctx.arg.searchPaths) {
     if (!ctx.arg.isStatic)
       if (std::optional<std::string> s = findFile(dir, "lib" + name + ".so"))
@@ -244,18 +245,18 @@
 }
 
 // This is for -l<namespec>.
-std::optional<std::string> elf::searchLibrary(StringRef name) {
+std::optional<std::string> elf::searchLibrary(Ctx &ctx, StringRef name) {
   llvm::TimeTraceScope timeScope("Locate library", name);
   if (name.starts_with(":"))
-    return findFromSearchPaths(name.substr(1));
-  return searchLibraryBaseName(name);
+    return findFromSearchPaths(ctx, name.substr(1));
+  return searchLibraryBaseName(ctx, name);
 }
 
 // If a linker/version script doesn't exist in the current directory, we also
 // look for the script in the '-L' search paths. This matches the behaviour of
 // '-T', --version-script=, and linker script INPUT() command in ld.bfd.
-std::optional<std::string> elf::searchScript(StringRef name) {
+std::optional<std::string> elf::searchScript(Ctx &ctx, StringRef name) {
   if (fs::exists(name))
     return name.str();
-  return findFromSearchPaths(name);
+  return findFromSearchPaths(ctx, name);
 }