diff options
Diffstat (limited to 'Source/cmBinUtilsLinuxELFLinker.cxx')
-rw-r--r-- | Source/cmBinUtilsLinuxELFLinker.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmBinUtilsLinuxELFLinker.cxx b/Source/cmBinUtilsLinuxELFLinker.cxx index a69c00d..5972202 100644 --- a/Source/cmBinUtilsLinuxELFLinker.cxx +++ b/Source/cmBinUtilsLinuxELFLinker.cxx @@ -154,8 +154,13 @@ bool cmBinUtilsLinuxELFLinker::ScanDependencies( if (!this->Archive->IsPostExcluded(path)) { bool unique; this->Archive->AddResolvedPath(dep, path, unique); - if (unique && !this->ScanDependencies(path, rpaths)) { - return false; + if (unique) { + std::vector<std::string> combinedParentRpaths = parentRpaths; + combinedParentRpaths.insert(combinedParentRpaths.end(), + rpaths.begin(), rpaths.end()); + if (!this->ScanDependencies(path, combinedParentRpaths)) { + return false; + } } } } else { |