diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2014-04-30 19:03:51 +0000 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2014-04-30 19:03:51 +0000 |
| commit | a54d34d4ad4c65154e7d53297cc2d9ad67644d6d (patch) | |
| tree | 3984c56797690470bdf276b4316d1dfad022264d /lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp | |
| parent | 76d8d36c3c6f7445a52487263f7231ca0fe6b3aa (diff) | |
| download | bcm5719-llvm-a54d34d4ad4c65154e7d53297cc2d9ad67644d6d.tar.gz bcm5719-llvm-a54d34d4ad4c65154e7d53297cc2d9ad67644d6d.zip | |
[ELF] Factor out the code builds a library search directory path
into the separate function.
No functional changes.
llvm-svn: 207689
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp')
| -rw-r--r-- | lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp index bbd22b9e7ac..7157df03b72 100644 --- a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp +++ b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp @@ -215,6 +215,16 @@ ELFLinkingContext::create(llvm::Triple triple) { } } +static void buildSearchPath(SmallString<128> &path, StringRef dir, + StringRef sysRoot) { + if (!dir.startswith("=/")) + path.assign(dir); + else { + path.assign(sysRoot); + path.append(dir.substr(1)); + } +} + ErrorOr<StringRef> ELFLinkingContext::searchLibrary(StringRef libName) const { bool foundFile = false; StringRef pathref; @@ -222,13 +232,7 @@ ErrorOr<StringRef> ELFLinkingContext::searchLibrary(StringRef libName) const { for (StringRef dir : _inputSearchPaths) { // Search for dynamic library if (!_isStaticExecutable) { - path.clear(); - if (dir.startswith("=/")) { - path.assign(_sysrootPath); - path.append(dir.substr(1)); - } else { - path.assign(dir); - } + buildSearchPath(path, dir, _sysrootPath); llvm::sys::path::append(path, Twine("lib") + libName + ".so"); pathref = path.str(); if (llvm::sys::fs::exists(pathref)) { @@ -237,13 +241,7 @@ ErrorOr<StringRef> ELFLinkingContext::searchLibrary(StringRef libName) const { } // Search for static libraries too if (!foundFile) { - path.clear(); - if (dir.startswith("=/")) { - path.assign(_sysrootPath); - path.append(dir.substr(1)); - } else { - path.assign(dir); - } + buildSearchPath(path, dir, _sysrootPath); llvm::sys::path::append(path, Twine("lib") + libName + ".a"); pathref = path.str(); if (llvm::sys::fs::exists(pathref)) { |

