llvm12/clang-rosa.patch

122 lines
5 KiB
Diff
Raw Permalink Normal View History

2021-01-21 15:28:52 +03:00
diff -urN a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h
--- a/clang/include/clang/Driver/Distro.h 2021-01-21 14:47:54.887955961 +0300
+++ b/clang/include/clang/Driver/Distro.h 2021-01-21 14:49:48.564035875 +0300
@@ -41,8 +41,10 @@
2020-08-14 11:56:39 +03:00
RHEL5,
RHEL6,
RHEL7,
+ ROSA,
Fedora,
Gentoo,
+ OpenMandriva,
OpenSUSE,
UbuntuHardy,
UbuntuIntrepid,
2021-01-21 15:28:52 +03:00
@@ -115,6 +117,10 @@
2020-08-14 11:56:39 +03:00
return DistroVal == Fedora || (DistroVal >= RHEL5 && DistroVal <= RHEL7);
}
+ bool IsROSA() {
+ return DistroVal == ROSA;
+ }
+
2021-01-21 15:28:52 +03:00
bool IsOpenSUSE() const { return DistroVal == OpenSUSE; }
bool IsDebian() const {
2020-08-14 11:56:39 +03:00
@@ -129,6 +135,9 @@
2021-01-21 15:28:52 +03:00
bool IsGentoo() const { return DistroVal == Gentoo; }
2020-08-14 11:56:39 +03:00
+ bool IsMandriva() const {
+ return DistroVal == OpenMandriva;
+ }
/// @}
};
2021-01-21 15:28:52 +03:00
diff -urN a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
--- a/clang/lib/Driver/Distro.cpp 2021-01-21 14:47:54.974619591 +0300
+++ b/clang/lib/Driver/Distro.cpp 2021-01-21 14:52:04.312828583 +0300
@@ -188,6 +188,9 @@
2020-08-14 11:56:39 +03:00
}
2021-01-21 15:28:52 +03:00
// ...and others.
+ if (VFS.exists("/etc/rosa-release"))
2020-08-14 11:56:39 +03:00
+ return Distro::ROSA;
+
2021-01-21 15:28:52 +03:00
if (VFS.exists("/etc/exherbo-release"))
return Distro::Exherbo;
diff -urN a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
--- a/clang/lib/Driver/ToolChains/Gnu.cpp 2021-01-21 14:47:54.984619240 +0300
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 2021-01-21 14:49:10.282009317 +0300
@@ -2075,7 +2075,9 @@
2020-08-14 11:56:39 +03:00
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
static const char *const AArch64Triples[] = {
"aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
- "aarch64-suse-linux", "aarch64-linux-android"};
+ "aarch64-suse-linux", "aarch64-linux-android", "aarch64-mandriva-linux-gnu",
+ "aarch64-openmandriva-linux-gnu", "aarch64-openmandriva-linux-musl",
+ "aarch64-rosa-linux-gnu", "aarch64-rosa-linux-musl"};
static const char *const AArch64beLibDirs[] = {"/lib"};
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
"aarch64_be-linux-gnu"};
2021-01-21 15:28:52 +03:00
@@ -2085,6 +2087,8 @@
2020-08-14 11:56:39 +03:00
"arm-linux-androideabi"};
static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
"armv7hl-redhat-linux-gnueabi",
+ "armv7hl-rosa-linux-gnueabi",
+ "armv7hl-openmandriva-linux-gnueabihf",
"armv6hl-suse-linux-gnueabi",
"armv7hl-suse-linux-gnueabi"};
static const char *const ARMebLibDirs[] = {"/lib"};
2021-01-21 15:28:52 +03:00
@@ -2103,7 +2107,8 @@
2020-08-14 11:56:39 +03:00
"x86_64-redhat-linux", "x86_64-suse-linux",
"x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
"x86_64-slackware-linux", "x86_64-unknown-linux",
- "x86_64-amazon-linux", "x86_64-linux-android"};
+ "x86_64-amazon-linux", "x86_64-linux-android",
+ "x86_64-rosa-linux-gnu", "x86_64-openmandriva-linux-gnu"};
static const char *const X32LibDirs[] = {"/libx32"};
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
static const char *const X86Triples[] = {
2021-01-21 15:28:52 +03:00
@@ -2112,7 +2117,9 @@
2020-08-14 11:56:39 +03:00
"i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
"i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu",
"i686-linux-android", "i386-gnu", "i486-gnu",
- "i586-gnu", "i686-gnu"};
+ "i586-gnu", "i686-gnu", "i586-unknown-linux-gnu",
+ "i586-rosa-linux-gnu", "i686-rosa-linux-gnu", "i586-openmandriva-linux-gnu",
+ "i686-openmandriva-linux-gnu"};
static const char *const MIPSLibDirs[] = {"/lib"};
static const char *const MIPSTriples[] = {
2021-01-21 15:28:52 +03:00
diff -urN a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2021-01-21 14:47:54.984619240 +0300
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2021-01-21 14:49:10.285342537 +0300
@@ -231,7 +231,7 @@
2020-08-14 11:56:39 +03:00
}
if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
- Triple.isAndroid()) {
+ Distro.IsROSA() || Distro.IsMandriva() || Triple.isAndroid()) {
ExtraOpts.push_back("-z");
ExtraOpts.push_back("relro");
}
2021-01-21 15:28:52 +03:00
@@ -271,6 +271,7 @@
2020-08-14 11:56:39 +03:00
// Hexagon linker/loader does not support .gnu.hash
if (!IsMips && !IsHexagon) {
if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() ||
+ Distro.IsROSA() || Distro.IsMandriva() ||
(Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick) ||
(IsAndroid && !Triple.isAndroidVersionLT(23)))
ExtraOpts.push_back("--hash-style=gnu");
2021-01-21 15:28:52 +03:00
@@ -286,7 +287,7 @@
2020-08-14 11:56:39 +03:00
ExtraOpts.push_back("--build-id");
#endif
- if (IsAndroid || Distro.IsOpenSUSE())
+ if (IsAndroid || Distro.IsOpenSUSE() || Distro.IsMandriva() || Distro.IsROSA())
ExtraOpts.push_back("--enable-new-dtags");
// The selection of paths to try here is designed to match the patterns which