]> granicus.if.org Git - clang/commitdiff
Make -m32 work on FreeBSD/PowerPC64.
authorRoman Divacky <rdivacky@freebsd.org>
Sat, 4 Jun 2011 07:37:31 +0000 (07:37 +0000)
committerRoman Divacky <rdivacky@freebsd.org>
Sat, 4 Jun 2011 07:37:31 +0000 (07:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132634 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp

index 4953d4b3eef6798d66634213d72bba306c3e0287..14ca5532632f0d7d69a60049be1a4bf9b942a561 100644 (file)
@@ -1007,6 +1007,11 @@ FreeBSD::FreeBSD(const HostInfo &Host, const llvm::Triple& Triple)
         llvm::Triple::x86_64)
     Lib32 = true;
 
+  if (Triple.getArch() == llvm::Triple::ppc &&
+      llvm::Triple(getDriver().DefaultHostTriple).getArch() ==
+        llvm::Triple::ppc64)
+    Lib32 = true;
+
   if (Lib32) {
     getFilePaths().push_back("/usr/lib32");
   } else {
index 87358cc4b065e32a72974b9a5a5a117a41a12e3d..add570390dcd1e124fbc5f9db5707b516be0e1e6 100644 (file)
@@ -3460,6 +3460,8 @@ void freebsd::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
   if (getToolChain().getArchName() == "i386")
     CmdArgs.push_back("--32");
 
+  if (getToolChain().getArchName() == "powerpc")
+    CmdArgs.push_back("-a32");
 
   // Set byte order explicitly
   if (getToolChain().getArchName() == "mips")