summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-11-28 23:46:52 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-11-28 23:46:52 +0000
commit4a4932c29bcd9b6638f6bebda9453703e9b69bd7 (patch)
tree189efdc9b2ec04c4ae1a2c6ffef0666238aa972e /clang/lib
parent2a69e242911b1179ae0554ed745a43bdf5898d56 (diff)
downloadbcm5719-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.cpp3
-rw-r--r--clang/lib/Driver/Tools.cpp8
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")
OpenPOWER on IntegriCloud