Fix search paths for Ubuntu 11.04 x86. Patch by Stepan Dyatkovskiy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139941 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
index bcd5400..5e03785 100644
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -1513,6 +1513,14 @@
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 @@
} 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";