aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-12-07 04:00:53 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-12-07 04:00:53 +0000
commit1c636df9f47dcfe5633eca6965db84c2e83ccc58 (patch)
tree8e5832194d23699238cf96cc609daece46106850 /lib/Driver/ToolChains.cpp
parent078f859584cc965a8b6ab35f844ce353fe5224b4 (diff)
Fix multilib library paths on ppc64 Linux. Patch by Michael Kostylev. PR11472.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146016 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains.cpp')
-rw-r--r--lib/Driver/ToolChains.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
index 77831be998..fa4cf41889 100644
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -1894,8 +1894,15 @@ Linux::Linux(const HostInfo &Host, const llvm::Triple &Triple)
getArch() == llvm::Triple::mipsel ||
getArch() == llvm::Triple::ppc);
- const std::string Suffix32 = Arch == llvm::Triple::x86_64 ? "/32" : "";
- const std::string Suffix64 = Arch == llvm::Triple::x86_64 ? "" : "/64";
+ StringRef Suffix32;
+ StringRef Suffix64;
+ if (Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::ppc64) {
+ Suffix32 = "/32";
+ Suffix64 = "";
+ } else {
+ Suffix32 = "";
+ Suffix64 = "/64";
+ }
const std::string Suffix = Is32Bits ? Suffix32 : Suffix64;
const std::string Multilib = Is32Bits ? "lib32" : "lib64";
const std::string MultiarchTriple = getMultiarchTriple(Triple, SysRoot);