diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-11-20 19:08:06 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-11-20 19:08:06 +0000 |
commit | 84fbc653ce78919196acea9bed9bb7288d461ee7 (patch) | |
tree | 52def139e136756af8ef46eb5fb2c0c8c27aeb7a /tools/gccld/Linker.cpp | |
parent | 65914f5a57a189df328c18febfb3d7e1e0adaa3d (diff) |
Add ability to search only for native shared object, and expose the
functionality to the rest of gccld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/gccld/Linker.cpp')
-rw-r--r-- | tools/gccld/Linker.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/tools/gccld/Linker.cpp b/tools/gccld/Linker.cpp index 701458bb43..a009cf59d6 100644 --- a/tools/gccld/Linker.cpp +++ b/tools/gccld/Linker.cpp @@ -39,8 +39,9 @@ namespace llvm { /// named by the value of the environment variable LLVM_LIB_SEARCH_PATH. Returns /// an empty string if no matching file can be found. /// -static std::string FindLib(const std::string &Filename, - const std::vector<std::string> &Paths) { +std::string FindLib(const std::string &Filename, + const std::vector<std::string> &Paths, + bool SharedObjectOnly) { // Determine if the pathname can be found as it stands. if (FileOpenable(Filename)) return Filename; @@ -53,13 +54,13 @@ static std::string FindLib(const std::string &Filename, for (unsigned Index = 0; Index != Paths.size(); ++Index) { std::string Directory = Paths[Index] + "/"; - if (FileOpenable(Directory + LibName + ".bc")) + if (!SharedObjectOnly && FileOpenable(Directory + LibName + ".bc")) return Directory + LibName + ".bc"; if (FileOpenable(Directory + LibName + ".so")) return Directory + LibName + ".so"; - if (FileOpenable(Directory + LibName + ".a")) + if (!SharedObjectOnly && FileOpenable(Directory + LibName + ".a")) return Directory + LibName + ".a"; } @@ -99,9 +100,6 @@ void GetAllDefinedSymbols(Module *M, std::set<std::string> &DefinedSymbols) { /// UndefinedSymbols - A set of C++ strings containing the name of all /// undefined symbols. /// -/// Return value: -/// None. -/// void GetAllUndefinedSymbols(Module *M, std::set<std::string> &UndefinedSymbols) { std::set<std::string> DefinedSymbols; |