summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Driver.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2018-07-25 21:53:18 +0000
committerFangrui Song <maskray@google.com>2018-07-25 21:53:18 +0000
commitc60f85d0731f45a8bcb6f6c14409a33cf88d15af (patch)
treeda2c59dcf917ddfb760665dc2730ad45da525084 /lld/ELF/Driver.cpp
parent33b4c8a18f0d3d8a837b5f03c815935472963968 (diff)
downloadbcm5719-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.cpp10
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;
OpenPOWER on IntegriCloud