diff options
author | Chris Lattner <sabre@nondot.org> | 2005-02-19 18:30:29 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-02-19 18:30:29 +0000 |
commit | e68dae0eb6df953f5fb8016d81327672a6b6cb6a (patch) | |
tree | 38d5e4e7b8c7d49ce1660730e45cac6a6cb6fee6 /llvm/lib/Linker/LinkLibraries.cpp | |
parent | fe723a7c05215500d990c4fb7bc64d25154bd91b (diff) | |
download | bcm5719-llvm-e68dae0eb6df953f5fb8016d81327672a6b6cb6a.tar.gz bcm5719-llvm-e68dae0eb6df953f5fb8016d81327672a6b6cb6a.zip |
Add support for ".so" files compiled with LLVM which contain LLVM bytecode.
llvm-svn: 20253
Diffstat (limited to 'llvm/lib/Linker/LinkLibraries.cpp')
-rw-r--r-- | llvm/lib/Linker/LinkLibraries.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Linker/LinkLibraries.cpp b/llvm/lib/Linker/LinkLibraries.cpp index bfde7906bb1..eb31fb96da0 100644 --- a/llvm/lib/Linker/LinkLibraries.cpp +++ b/llvm/lib/Linker/LinkLibraries.cpp @@ -27,9 +27,15 @@ Linker::LinkInLibrary(const std::string& Lib) // If its an archive, try to link it in if (Pathname.isArchive()) { - if (LinkInArchive(Pathname)) { + if (LinkInArchive(Pathname)) return error("Cannot link archive '" + Pathname.toString() + "'"); - } + } else if (Pathname.isBytecodeFile()) { + // LLVM ".so" file. + if (LinkInFile(Pathname)) + return error("Cannot link file '" + Pathname.toString() + "'"); + + } else if (Pathname.isDynamicLibrary()) { + return warning("Library '" + Lib + "' is a native dynamic library."); } else { return warning("Supposed library '" + Lib + "' isn't a library."); } |