From 0b18e3d227d25cf94e5a08016068e29e81482ad1 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Thu, 16 Sep 2021 12:02:50 +0200 Subject: [PATCH] llvm12: update to 12.0.1. --- ...clang-001-fix-unwind-chain-inclusion.patch | 44 ------- .../patches/clang-002-add-musl-triples.patch | 110 ------------------ .../clang-003-ppc64-dynamic-linker-path.patch | 13 --- .../patches/clang-004-ppc64-musl-elfv2.patch | 48 -------- srcpkgs/llvm12/template | 6 +- 5 files changed, 3 insertions(+), 218 deletions(-) delete mode 100644 srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch delete mode 100644 srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch delete mode 100644 srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch delete mode 100644 srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch diff --git a/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch deleted file mode 100644 index e4eaa7783e7a..000000000000 --- a/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 352974169f0d2b5da3d5321f588f5e3b5941330e Mon Sep 17 00:00:00 2001 -From: Andrea Brancaleoni -Date: Tue, 8 Sep 2015 22:14:57 +0200 -Subject: [PATCH 2/7] fix unwind chain inclusion - ---- - lib/Headers/unwind.h | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h -index 303d792..44e10cc 100644 ---- a/clang/lib/Headers/unwind.h -+++ b/clang/lib/Headers/unwind.h -@@ -9,9 +9,6 @@ - - /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ - --#ifndef __CLANG_UNWIND_H --#define __CLANG_UNWIND_H -- - #if defined(__APPLE__) && __has_include_next() - /* Darwin (from 11.x on) provide an unwind.h. If that's available, - * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, -@@ -39,6 +36,9 @@ - # endif - #else - -+#ifndef __CLANG_UNWIND_H -+#define __CLANG_UNWIND_H -+ - #include - - #ifdef __cplusplus -@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *); - } - #endif - -+#endif /* __CLANG_UNWIND_H */ -+ - #endif - --#endif /* __CLANG_UNWIND_H */ --- -2.5.1 diff --git a/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch b/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch deleted file mode 100644 index 25688d40dbc2..000000000000 --- a/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch +++ /dev/null @@ -1,110 +0,0 @@ ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2086,7 +2086,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", - "armv7hl-redhat-linux-gnueabi", - "armv6hl-suse-linux-gnueabi", -- "armv7hl-suse-linux-gnueabi"}; -+ "armv7hl-suse-linux-gnueabi", -+ "armv7l-linux-gnueabihf"}; - static const char *const ARMebLibDirs[] = {"/lib"}; - static const char *const ARMebTriples[] = {"armeb-linux-gnueabi", - "armeb-linux-androideabi"}; -@@ -2153,8 +2154,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - "powerpc64-suse-linux", "powerpc-montavista-linuxspe"}; - static const char *const PPCLELibDirs[] = {"/lib32", "/lib"}; - static const char *const PPCLETriples[] = {"powerpcle-linux-gnu", -- "powerpcle-unknown-linux-gnu", -- "powerpcle-linux-musl"}; -+ "powerpcle-unknown-linux-gnu"}; - - static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; - static const char *const PPC64Triples[] = { -@@ -2235,6 +2235,87 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - return; - } - -+ if (TargetTriple.isMusl()) { -+ static const char *const AArch64MuslTriples[] = {"aarch64-linux-musl"}; -+ static const char *const ARMHFMuslTriples[] = { -+ "arm-linux-musleabihf", "armv7l-linux-musleabihf" -+ }; -+ static const char *const ARMMuslTriples[] = {"arm-linux-musleabi"}; -+ static const char *const X86_64MuslTriples[] = {"x86_64-linux-musl"}; -+ static const char *const X86MuslTriples[] = {"i686-linux-musl"}; -+ static const char *const MIPSMuslTriples[] = { -+ "mips-linux-musl", "mipsel-linux-musl", -+ "mipsel-linux-muslhf", "mips-linux-muslhf" -+ }; -+ static const char *const PPCMuslTriples[] = {"powerpc-linux-musl"}; -+ static const char *const PPCLEMuslTriples[] = {"powerpcle-linux-musl"}; -+ static const char *const PPC64MuslTriples[] = {"powerpc64-linux-musl"}; -+ static const char *const PPC64LEMuslTriples[] = {"powerpc64le-linux-musl"}; -+ -+ switch (TargetTriple.getArch()) { -+ case llvm::Triple::aarch64: -+ LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); -+ TripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); -+ BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); -+ BiarchTripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); -+ break; -+ case llvm::Triple::arm: -+ LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs)); -+ if (TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { -+ TripleAliases.append(begin(ARMHFMuslTriples), end(ARMHFMuslTriples)); -+ } else { -+ TripleAliases.append(begin(ARMMuslTriples), end(ARMMuslTriples)); -+ } -+ break; -+ case llvm::Triple::x86_64: -+ LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); -+ TripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); -+ BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs)); -+ BiarchTripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); -+ break; -+ case llvm::Triple::x86: -+ LibDirs.append(begin(X86LibDirs), end(X86LibDirs)); -+ TripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); -+ BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); -+ BiarchTripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); -+ break; -+ case llvm::Triple::mips: -+ LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs)); -+ TripleAliases.append(begin(MIPSMuslTriples), end(MIPSMuslTriples)); -+ break; -+ case llvm::Triple::ppc: -+ LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); -+ TripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); -+ BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); -+ BiarchTripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); -+ break; -+ case llvm::Triple::ppcle: -+ LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); -+ TripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); -+ BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); -+ BiarchTripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); -+ break; -+ case llvm::Triple::ppc64: -+ LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); -+ TripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); -+ BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); -+ BiarchTripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); -+ break; -+ case llvm::Triple::ppc64le: -+ LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); -+ TripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); -+ BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); -+ BiarchTripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); -+ break; -+ default: -+ break; -+ } -+ TripleAliases.push_back(TargetTriple.str()); -+ if (TargetTriple.str() != BiarchTriple.str()) -+ BiarchTripleAliases.push_back(BiarchTriple.str()); -+ return; -+ } -+ - // Android targets should not use GNU/Linux tools or libraries. - if (TargetTriple.isAndroid()) { - static const char *const AArch64AndroidTriples[] = { diff --git a/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch deleted file mode 100644 index 4ad6412d1e6c..000000000000 --- a/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -504,10 +504,6 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - Loader = "ld.so.1"; - break; - case llvm::Triple::ppc64: -- LibDir = "lib64"; -- Loader = -- (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; -- break; - case llvm::Triple::ppc64le: - LibDir = "lib64"; - Loader = diff --git a/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch deleted file mode 100644 index 21fc8003c5f1..000000000000 --- a/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/clang/lib/Basic/Targets/PPC.h -+++ b/clang/lib/Basic/Targets/PPC.h -@@ -415,11 +415,10 @@ public: - LongDoubleFormat = &llvm::APFloat::IEEEdouble(); - } else if ((Triple.getArch() == llvm::Triple::ppc64le)) { - DataLayout = "e-m:e-i64:64-n32:64"; -- ABI = "elfv2"; - } else { - DataLayout = "E-m:e-i64:64-n32:64"; -- ABI = "elfv1"; - } -+ ABI = "elfv2"; - - if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) { - LongDoubleWidth = LongDoubleAlign = 64; ---- a/clang/lib/CodeGen/TargetInfo.cpp -+++ b/clang/lib/CodeGen/TargetInfo.cpp -@@ -10927,9 +10927,9 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() { - return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true)); - - if (Triple.isOSBinFormatELF()) { -- PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv1; -- if (getTarget().getABI() == "elfv2") -- Kind = PPC64_SVR4_ABIInfo::ELFv2; -+ PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv2; -+ if (getTarget().getABI() == "elfv1") -+ Kind = PPC64_SVR4_ABIInfo::ELFv1; - bool IsSoftFloat = CodeGenOpts.FloatABI == "soft"; - - return SetCGInfo( ---- a/clang/lib/Driver/ToolChains/Clang.cpp -+++ b/clang/lib/Driver/ToolChains/Clang.cpp -@@ -1920,14 +1920,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args, - const llvm::Triple &T = getToolChain().getTriple(); - if (T.isOSBinFormatELF()) { - switch (getToolChain().getArch()) { -- case llvm::Triple::ppc64: { -- if ((T.isOSFreeBSD() && T.getOSMajorVersion() >= 13) || -- T.isOSOpenBSD() || T.isMusl()) -- ABIName = "elfv2"; -- else -- ABIName = "elfv1"; -- break; -- } -+ case llvm::Triple::ppc64: - case llvm::Triple::ppc64le: - ABIName = "elfv2"; - break; diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template index 86a8c6d10791..b4aa30e6d39d 100644 --- a/srcpkgs/llvm12/template +++ b/srcpkgs/llvm12/template @@ -1,7 +1,7 @@ # Template file for 'llvm12' pkgname=llvm12 -version=12.0.0 -revision=3 +version=12.0.1 +revision=1 wrksrc="llvm-project-${version}.src" build_wrksrc=llvm build_style=cmake @@ -35,7 +35,7 @@ maintainer="q66 " license="Apache-2.0" homepage="https://www.llvm.org" distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz" -checksum="9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628" +checksum=129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e lib32disabled=yes python_version=3