[llvm-commits] CVS: llvm/lib/Linker/LinkLibraries.cpp Linker.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Feb 19 10:30:45 PST 2005



Changes in directory llvm/lib/Linker:

LinkLibraries.cpp updated: 1.2 -> 1.3
Linker.cpp updated: 1.3 -> 1.4
---
Log message:

Add support for ".so" files compiled with LLVM which contain LLVM bytecode.


---
Diffs of the changes:  (+11 -3)

 LinkLibraries.cpp |   10 ++++++++--
 Linker.cpp        |    4 +++-
 2 files changed, 11 insertions(+), 3 deletions(-)


Index: llvm/lib/Linker/LinkLibraries.cpp
diff -u llvm/lib/Linker/LinkLibraries.cpp:1.2 llvm/lib/Linker/LinkLibraries.cpp:1.3
--- llvm/lib/Linker/LinkLibraries.cpp:1.2	Sun Dec 12 21:23:13 2004
+++ llvm/lib/Linker/LinkLibraries.cpp	Sat Feb 19 12:30:29 2005
@@ -27,9 +27,15 @@
 
   // 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.");
   }


Index: llvm/lib/Linker/Linker.cpp
diff -u llvm/lib/Linker/Linker.cpp:1.3 llvm/lib/Linker/Linker.cpp:1.4
--- llvm/lib/Linker/Linker.cpp:1.3	Thu Dec 16 13:19:24 2004
+++ llvm/lib/Linker/Linker.cpp	Sat Feb 19 12:30:29 2005
@@ -133,7 +133,9 @@
 
   FullPath.elideSuffix();
   FullPath.appendSuffix(&(LTDL_SHLIB_EXT[1]));
-  if (FullPath.isDynamicLibrary())
+  if (FullPath.isDynamicLibrary())  // Native shared library?
+    return FullPath;
+  if (FullPath.isBytecodeFile())    // .so file containing bytecode?
     return FullPath;
 
   FullPath.clear();






More information about the llvm-commits mailing list