From: Eli Friedman Date: Fri, 16 Sep 2011 21:04:38 +0000 (+0000) Subject: Fix search paths for Ubuntu 11.04 x86. Patch by Stepan Dyatkovskiy. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=733a83b324dc31ac5be3f30f4d05febad0728474;p=clang 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 bcd540084d..5e0378525b 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -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";