[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);
}