Sophie

Sophie

distrib > Mageia > 9 > i586 > by-pkgid > 04a2813ca76e58081a44bafd91465ad8 > files > 12

clang-15.0.6-5.mga9.src.rpm

diff -up a/clang/lib/Driver/ToolChains.cpp.TRIPLETS b/clang/lib/Driver/ToolChains.cpp
--- a/clang/lib/Driver/ToolChains/Gnu.cpp.TRIPLETS	2016-11-23 22:25:50.000000000 +0100
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp	2017-01-06 22:59:39.416911839 +0100
@@ -2094,7 +2094,7 @@ void Generic_GCC::GCCInstallationDetecto
   // lists should shrink over time. Please don't add more elements to *Triples.
   static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
   static const char *const AArch64Triples[] = {
-      "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
+      "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-mageia-linux", "aarch64-redhat-linux",
       "aarch64-suse-linux"};
   static const char *const AArch64beLibDirs[] = {"/lib"};
   static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
@@ -2104,6 +2104,7 @@ void Generic_GCC::GCCInstallationDetecto
   static const char *const ARMTriples[] = {"arm-linux-gnueabi"};
   static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
                                              "armv7hl-redhat-linux-gnueabi",
+                                             "armv7hl-mageia-linux-gnueabi",
                                              "armv6hl-suse-linux-gnueabi",
                                              "armv7hl-suse-linux-gnueabi"};
   static const char *const ARMebLibDirs[] = {"/lib"};
@@ -2120,6 +2121,7 @@ void Generic_GCC::GCCInstallationDetecto
       "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-mageia-linux",    "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
       "x86_64-slackware-linux", "x86_64-unknown-linux",
       "x86_64-amazon-linux"};
   static const char *const X32Triples[] = {"x86_64-linux-gnux32",
@@ -2129,7 +2131,7 @@ void Generic_GCC::GCCInstallationDetecto
   static const char *const X86Triples[] = {
       "i586-linux-gnu",      "i686-linux-gnu",        "i686-pc-linux-gnu",
       "i386-redhat-linux6E", "i686-redhat-linux",     "i386-redhat-linux",
-      "i586-suse-linux",     "i686-montavista-linux", "i686-gnu",
+      "i586-suse-linux", "i586-mageia-linux",    "i686-montavista-linux", "i686-gnu",
   };
 
   static const char *const M68kLibDirs[] = {"/lib"};
diff -up ./lib/Driver/ToolChains/Linux.cpp.tv ./lib/Driver/ToolChains/Linux.cpp
--- a/clang/lib/Driver/ToolChains/Linux.cpp.tv	2017-06-03 18:47:06.000000000 +0200
+++ b/clang/lib/Driver/ToolChains/Linux.cpp	2017-10-18 20:36:09.266005559 +0200
@@ -283,7 +283,7 @@ Linux::Linux(const Driver &D, const llvm
   // Android loader does not support .gnu.hash until API 23.
   // Hexagon linker/loader does not support .gnu.hash
   if (!IsMips && !IsHexagon) {
-    if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() ||
+    if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() || Distro.IsMageia() ||
         (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick) ||
         (IsAndroid && !Triple.isAndroidVersionLT(23)))
       ExtraOpts.push_back("--hash-style=gnu");
diff -up ./include/clang/Driver/Distro.h.tv ./include/clang/Driver/Distro.h
--- a/clang/include/clang/Driver/Distro.h.tv	2017-09-21 15:52:02.310905300 +0200
+++ b/clang/include/clang/Driver/Distro.h	2017-09-21 15:53:27.909422016 +0200
@@ -39,6 +39,7 @@ public:
     RHEL6,
     RHEL7,
     Fedora,
+    Mageia,
     Gentoo,
     OpenSUSE,
     UbuntuHardy,
@@ -116,6 +116,8 @@ public:
     return DistroVal == Fedora || (DistroVal >= RHEL5 && DistroVal <= RHEL7);
   }
 
+  bool IsMageia() const { return DistroVal == Mageia; }
+
   bool IsOpenSUSE() const { return DistroVal == OpenSUSE; }
 
   bool IsDebian() const {
diff -up ./lib/Driver/Distro.cpp.tv ./lib/Driver/Distro.cpp
--- a/clang/lib/Driver/Distro.cpp.tv	2017-09-21 15:53:58.541964793 +0200
+++ b/clang/lib/Driver/Distro.cpp	2017-09-21 16:10:59.342121213 +0200
@@ -36,6 +36,7 @@ static Distro::DistroType DetectOsReleas
   for (StringRef Line : Lines)
     if (Version == Distro::UnknownDistro && Line.startswith("ID="))
       Version = llvm::StringSwitch<Distro::DistroType>(Line.substr(3))
+                    .Case("mageia", Distro::Mageia)
                     .Case("alpine", Distro::AlpineLinux)
                     .Case("fedora", Distro::Fedora)
                     .Case("gentoo", Distro::Gentoo)
@@ -106,6 +107,11 @@ static Distro::DistroType DetectDistro(l
   if (Version != Distro::UnknownDistro)
     return Version;
 
+  /* // Just rely on /etc/redhat-release symlink
+  llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
+      VFS.getBufferForFile("/etc/mageia-release");
+      */
+
   // Otherwise try some distro-specific quirks for RedHat...
   llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
       VFS.getBufferForFile("/etc/redhat-release");