diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-11-28 23:46:52 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-11-28 23:46:52 +0000 |
commit | 4a4932c29bcd9b6638f6bebda9453703e9b69bd7 (patch) | |
tree | 189efdc9b2ec04c4ae1a2c6ffef0666238aa972e /clang/lib | |
parent | 2a69e242911b1179ae0554ed745a43bdf5898d56 (diff) | |
download | bcm5719-llvm-4a4932c29bcd9b6638f6bebda9453703e9b69bd7.tar.gz bcm5719-llvm-4a4932c29bcd9b6638f6bebda9453703e9b69bd7.zip |
A couple driver fixes for PPC Linux. Patches by Michael Kostylev. PR11444/PR11445.
llvm-svn: 145321
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index f4209ad08a2..5ebe2828547 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -1234,7 +1234,8 @@ Generic_GCC::GCCInstallationDetector::GCCInstallationDetector(const Driver &D) } else if (HostArch == llvm::Triple::ppc64) { static const char *const PPC64LibDirs[] = { "/lib64", "/lib" }; static const char *const PPC64Triples[] = { - "powerpc64-unknown-linux-gnu" + "powerpc64-unknown-linux-gnu", + "ppc64-redhat-linux" }; LibDirs.append(PPC64LibDirs, PPC64LibDirs + llvm::array_lengthof(PPC64LibDirs)); diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 918b4551c57..6ceb4b8a095 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -4249,6 +4249,14 @@ void linuxtools::Assemble::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("--32"); } else if (getToolChain().getArch() == llvm::Triple::x86_64) { CmdArgs.push_back("--64"); + } else if (getToolChain().getArch() == llvm::Triple::ppc) { + CmdArgs.push_back("-a32"); + CmdArgs.push_back("-mppc"); + CmdArgs.push_back("-many"); + } else if (getToolChain().getArch() == llvm::Triple::ppc64) { + CmdArgs.push_back("-a64"); + CmdArgs.push_back("-mppc64"); + CmdArgs.push_back("-many"); } else if (getToolChain().getArch() == llvm::Triple::arm) { StringRef MArch = getToolChain().getArchName(); if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a") |