Hi,

The attached patch adds the i386-redhat-linux6E triple to the header and library search paths. This is necessary to find libstdc++ 4.4.4 on CentOS 5. This matches the check for x86_64 CentOS/RHEL 5.x added in

------------------------------------------------------------------------
r133156 | chapuni | 2011-06-16 22:43:57 +1000 (Thu, 16 Jun 2011) | 4 lines

Be aware of (x86_64-redhat-linux6E-)g++44 on RHEL5.

AFAIK, RHEL5 (and its clones) provides g++44 as the package "gcc44-c++".
By default, g++-4.1.1 is available, though, its libstdc++ would not be suitable to clang++.

------------------------------------------------------------------------


It also adds a check for CentOS 6 as part of the distro checks in ToolChains.cpp, although I could take that part back out.

This might be an appropriate fix for PR9990.

Regards,
Iain
Index: lib/Frontend/InitHeaderSearch.cpp
===================================================================
--- lib/Frontend/InitHeaderSearch.cpp   (revision 141774)
+++ lib/Frontend/InitHeaderSearch.cpp   (working copy)
@@ -738,6 +738,8 @@
     // RHEL5(gcc44)
     AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4",
                                 "x86_64-redhat-linux6E", "32", "", triple);
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4",
+                                "i386-redhat-linux6E", "", "", triple);
     // Fedora 13
     AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.4",
                                 "x86_64-redhat-linux", "32", "", triple);
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp   (revision 141774)
+++ lib/Driver/ToolChains.cpp   (working copy)
@@ -1436,7 +1436,8 @@
     else if (Data.startswith("Fedora release") &&
              Data.find("Rawhide") != StringRef::npos)
       return FedoraRawhide;
-    else if (Data.startswith("Red Hat Enterprise Linux") &&
+    else if ((Data.startswith("Red Hat Enterprise Linux") ||
+             Data.startswith("CentOS")) &&
              Data.find("release 6") != StringRef::npos)
       return RHEL6;
     else if ((Data.startswith("Red Hat Enterprise Linux") ||
@@ -1663,6 +1664,7 @@
         "i386-linux-gnu",
         "i686-pc-linux-gnu",
         "i486-linux-gnu",
+        "i386-redhat-linux6E",
         "i686-redhat-linux",
         "i586-suse-linux",
         "i486-slackware-linux"
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to