diff options
| author | Nick Kledzik <kledzik@apple.com> | 2014-10-16 19:31:28 +0000 |
|---|---|---|
| committer | Nick Kledzik <kledzik@apple.com> | 2014-10-16 19:31:28 +0000 |
| commit | 51720673915e21fbe2756e9ec7a2b38f9b53396c (patch) | |
| tree | 5dda9424a2ca85e2f39c4d62ebb0386f3cbd5e1c /lld/lib/Driver/DarwinInputGraph.cpp | |
| parent | b38b96ab4c491b914835d005532e8f8e4842c77a (diff) | |
| download | bcm5719-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.cpp | 3 |
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)); } |

