diff options
author | Fangrui Song <maskray@google.com> | 2018-07-25 21:53:18 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2018-07-25 21:53:18 +0000 |
commit | c60f85d0731f45a8bcb6f6c14409a33cf88d15af (patch) | |
tree | da2c59dcf917ddfb760665dc2730ad45da525084 /lld/ELF/Driver.cpp | |
parent | 33b4c8a18f0d3d8a837b5f03c815935472963968 (diff) | |
download | bcm5719-llvm-c60f85d0731f45a8bcb6f6c14409a33cf88d15af.tar.gz bcm5719-llvm-c60f85d0731f45a8bcb6f6c14409a33cf88d15af.zip |
[ELF] Use search paths for --version-script=
Summary: This behavior matches ld.bfd -Ld --version-script=t.script a.o
Reviewers: ruiu, espindola
Subscribers: emaste, arichardson, llvm-commits
Differential Revision: https://reviews.llvm.org/D49820
llvm-svn: 337969
Diffstat (limited to 'lld/ELF/Driver.cpp')
-rw-r--r-- | lld/ELF/Driver.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 15714534eeb..1fc552f011b 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -939,8 +939,12 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) { Config->Undefined.push_back(Arg->getValue()); for (auto *Arg : Args.filtered(OPT_version_script)) - if (Optional<MemoryBufferRef> Buffer = readFile(Arg->getValue())) - readVersionScript(*Buffer); + if (Optional<std::string> Path = searchScript(Arg->getValue())) { + if (Optional<MemoryBufferRef> Buffer = readFile(*Path)) + readVersionScript(*Buffer); + } else { + error(Twine("cannot find version script ") + Arg->getValue()); + } } // Some Config members do not directly correspond to any particular @@ -1022,7 +1026,7 @@ void LinkerDriver::createFiles(opt::InputArgList &Args) { break; } case OPT_script: - if (Optional<std::string> Path = searchLinkerScript(Arg->getValue())) { + if (Optional<std::string> Path = searchScript(Arg->getValue())) { if (Optional<MemoryBufferRef> MB = readFile(*Path)) readLinkerScript(*MB); break; |