Sophie

Sophie

distrib > Mageia > 5 > x86_64 > by-pkgid > 9bbd92a8e64cf5d693815f83c4b1f3da > files > 1

llvm-3.5.2-1.mga5.src.rpm

diff -Nurp cfe-3.5.0.src.orig/lib/Driver/ToolChains.cpp cfe-3.5.0.src/lib/Driver/ToolChains.cpp
--- cfe-3.5.0.src.orig/lib/Driver/ToolChains.cpp	2014-08-27 23:07:31.000000000 +0300
+++ cfe-3.5.0.src/lib/Driver/ToolChains.cpp	2014-09-04 22:08:18.727929429 +0300
@@ -1335,8 +1335,8 @@ bool Generic_GCC::GCCInstallationDetecto
   static const char *const X86_64Triples[] = {
     "x86_64-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
     "x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux",
-    "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux",
-    "x86_64-linux-android", "x86_64-unknown-linux"
+    "x86_64-mageia-linux-gnu", "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
+    "x86_64-slackware-linux", "x86_64-linux-android", "x86_64-unknown-linux"
   };
   static const char *const X32LibDirs[] = { "/libx32" };
   static const char *const X86LibDirs[] = { "/lib32", "/lib" };
@@ -1344,7 +1344,8 @@ bool Generic_GCC::GCCInstallationDetecto
     "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", "i386-linux-gnu",
     "i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
     "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
-    "i686-montavista-linux", "i686-linux-android", "i586-linux-gnu"
+    "i586-mageia-linux-gnu", "i686-montavista-linux", "i686-linux-android",
+    "i586-linux-gnu"
   };
 
   static const char *const MIPSLibDirs[] = { "/lib" };
@@ -2787,6 +2788,7 @@ enum Distro {
   RHEL5,
   RHEL6,
   Fedora,
+  Mageia,
   OpenSUSE,
   UbuntuHardy,
   UbuntuIntrepid,
@@ -2808,6 +2810,10 @@ static bool IsRedhat(enum Distro Distro)
   return Distro == Fedora || (Distro >= RHEL4 && Distro <= RHEL6);
 }
 
+static bool IsMageia(enum Distro Distro) {
+  return Distro == Mageia;
+}
+
 static bool IsOpenSUSE(enum Distro Distro) {
   return Distro == OpenSUSE;
 }
@@ -2848,6 +2854,9 @@ static Distro DetectDistro(llvm::Triple:
     return Version;
   }
 
+  if (llvm::sys::fs::exists("/etc/mageia-release"))
+    return Mageia;
+
   File = llvm::MemoryBuffer::getFile("/etc/redhat-release");
   if (File) {
     StringRef Data = File.get()->getBuffer();
@@ -3062,7 +3071,7 @@ Linux::Linux(const Driver &D, const llvm
   // ABI requires a mapping between the GOT and the symbol table.
   // Android loader does not support .gnu.hash.
   if (!IsMips && !IsAndroid) {
-    if (IsRedhat(Distro) || IsOpenSUSE(Distro) ||
+    if (IsMageia(Distro) || IsRedhat(Distro) || IsOpenSUSE(Distro) ||
         (IsUbuntu(Distro) && Distro >= UbuntuMaverick))
       ExtraOpts.push_back("--hash-style=gnu");
 
@@ -3071,11 +3080,11 @@ Linux::Linux(const Driver &D, const llvm
       ExtraOpts.push_back("--hash-style=both");
   }
 
-  if (IsRedhat(Distro))
+  if (IsMageia(Distro) || IsRedhat(Distro))
     ExtraOpts.push_back("--no-add-needed");
 
   if (Distro == DebianSqueeze || Distro == DebianWheezy ||
-      Distro == DebianJessie || IsOpenSUSE(Distro) ||
+      Distro == DebianJessie || IsOpenSUSE(Distro) || IsMageia(Distro) ||
       (IsRedhat(Distro) && Distro != RHEL4 && Distro != RHEL5) ||
       (IsUbuntu(Distro) && Distro >= UbuntuKarmic))
     ExtraOpts.push_back("--build-id");