summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-01-30 21:03:19 +0000
committerRui Ueyama <ruiu@google.com>2015-01-30 21:03:19 +0000
commita9a6f55840ff2909455ef578e179c8556de5822d (patch)
treec1d8950c3f021ea268cb5d11a6145950362b31ac
parent16f5e56703827527a8dd19388f8c77c656d29dbe (diff)
downloadbcm5719-llvm-a9a6f55840ff2909455ef578e179c8556de5822d.tar.gz
bcm5719-llvm-a9a6f55840ff2909455ef578e179c8556de5822d.zip
ELF: Fix a bug in -l.
If a linker script is given with -l, LLD failed to read the file. The bug was introduced in 227341. llvm-svn: 227610
-rw-r--r--lld/lib/Driver/GnuLdDriver.cpp2
-rw-r--r--lld/test/elf/group-cmd-search.test7
2 files changed, 8 insertions, 1 deletions
diff --git a/lld/lib/Driver/GnuLdDriver.cpp b/lld/lib/Driver/GnuLdDriver.cpp
index d023624fefb..bca453a615c 100644
--- a/lld/lib/Driver/GnuLdDriver.cpp
+++ b/lld/lib/Driver/GnuLdDriver.cpp
@@ -623,7 +623,7 @@ bool GnuLdDriver::parse(int argc, const char *argv[],
if (ctx->logInputFiles())
diag << path << "\n";
ErrorOr<std::unique_ptr<MemoryBuffer>> mb =
- MemoryBuffer::getFileOrSTDIN(path);
+ MemoryBuffer::getFileOrSTDIN(realpath);
if (std::error_code ec = mb.getError()) {
diag << "Cannot open " << path << ": " << ec.message() << "\n";
return false;
diff --git a/lld/test/elf/group-cmd-search.test b/lld/test/elf/group-cmd-search.test
index 2f5c0f48501..5e153c1ac1a 100644
--- a/lld/test/elf/group-cmd-search.test
+++ b/lld/test/elf/group-cmd-search.test
@@ -124,4 +124,11 @@ RUN: lld -flavor gnu -target x86_64 -shared --sysroot=%p/Inputs \
RUN: -L%p/Inputs %p/Inputs/use-shared.x86-64 \
RUN: %s -o %t7
*/
+
+/*
+RUN: lld -flavor gnu -target x86_64 -shared \
+RUN: -L%p/Inputs %p/Inputs/use-shared.x86-64 \
+RUN: -l:group-cmd-search-1.ls -o %t9
+*/
+
GROUP ( /shared.so-x86-64 )
OpenPOWER on IntegriCloud