summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver/DarwinInputGraph.cpp
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2014-10-16 19:31:28 +0000
committerNick Kledzik <kledzik@apple.com>2014-10-16 19:31:28 +0000
commit51720673915e21fbe2756e9ec7a2b38f9b53396c (patch)
tree5dda9424a2ca85e2f39c4d62ebb0386f3cbd5e1c /lld/lib/Driver/DarwinInputGraph.cpp
parentb38b96ab4c491b914835d005532e8f8e4842c77a (diff)
downloadbcm5719-llvm-51720673915e21fbe2756e9ec7a2b38f9b53396c.tar.gz
bcm5719-llvm-51720673915e21fbe2756e9ec7a2b38f9b53396c.zip
[mach-o] Add support for upward linking
To deal with cycles in shared library dependencies, the darwin linker supports marking specific link dependencies as "upward". An upward link is when a lower level library links against a higher level library. llvm-svn: 219949
Diffstat (limited to 'lld/lib/Driver/DarwinInputGraph.cpp')
-rw-r--r--lld/lib/Driver/DarwinInputGraph.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lld/lib/Driver/DarwinInputGraph.cpp b/lld/lib/Driver/DarwinInputGraph.cpp
index 5a337086420..1ddde24b534 100644
--- a/lld/lib/Driver/DarwinInputGraph.cpp
+++ b/lld/lib/Driver/DarwinInputGraph.cpp
@@ -57,7 +57,8 @@ std::error_code MachOFileNode::parse(const LinkingContext &ctx,
for (std::unique_ptr<File> &pf : parsedFiles) {
// If a dylib was parsed, inform LinkingContext about it.
if (SharedLibraryFile *shl = dyn_cast<SharedLibraryFile>(pf.get())) {
- _context.registerDylib(reinterpret_cast<mach_o::MachODylibFile*>(shl));
+ _context.registerDylib(reinterpret_cast<mach_o::MachODylibFile*>(shl),
+ _upwardDylib);
}
_files.push_back(std::move(pf));
}
OpenPOWER on IntegriCloud