]> granicus.if.org Git - clang/commitdiff
Fix search paths for Ubuntu 11.04 x86. Patch by Stepan Dyatkovskiy.
authorEli Friedman <eli.friedman@gmail.com>
Fri, 16 Sep 2011 21:04:38 +0000 (21:04 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 16 Sep 2011 21:04:38 +0000 (21:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139941 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp

index bcd540084dc599651a31098124c8bd23817d0301..5e0378525bffa5df1500b9f0103aa8051fdab00b 100644 (file)
@@ -1513,6 +1513,14 @@ static std::string findGCCBaseLibDir(const std::string &GccTriple) {
     std::string t3 = "/usr/lib/" + GccTriple + "/gcc/" + Suffix;
     if (!llvm::sys::fs::exists(t3 + "/crtbegin.o", Exists) && Exists)
       return t3;
+    if (GccTriple == "i386-linux-gnu") {
+      // Ubuntu 11.04 uses an unusual path.
+      std::string t4 =
+          std::string("/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/") +
+          GccVersions[i];
+      if (!llvm::sys::fs::exists(t4 + "/crtbegin.o", Exists) && Exists)
+        return t4;
+    }
   }
   return "";
 }
@@ -1578,6 +1586,9 @@ Linux::Linux(const HostInfo &Host, const llvm::Triple &Triple)
   } else if (Arch == llvm::Triple::x86) {
     if (!llvm::sys::fs::exists("/usr/lib/gcc/i686-linux-gnu", Exists) && Exists)
       GccTriple = "i686-linux-gnu";
+    else if (!llvm::sys::fs::exists("/usr/lib/i386-linux-gnu", Exists) &&
+             Exists)
+      GccTriple = "i386-linux-gnu";
     else if (!llvm::sys::fs::exists("/usr/lib/gcc/i686-pc-linux-gnu", Exists) &&
              Exists)
       GccTriple = "i686-pc-linux-gnu";