From 7bdcbd5c28c20a1ec20f8397e87a6212ba98e26d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Sep 27 2022 10:37:04 +0000 Subject: import llvm-14.0.6-1.el9 --- diff --git a/.gitignore b/.gitignore index 238559d..d368b74 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/llvm-13.0.1.src.tar.xz +SOURCES/llvm-14.0.6.src.tar.xz SOURCES/tstellar-gpg-key.asc diff --git a/.llvm.metadata b/.llvm.metadata index eb649c7..0c6a26d 100644 --- a/.llvm.metadata +++ b/.llvm.metadata @@ -1,2 +1,2 @@ -8e50e3e47b6a14a0848862c574fb0007db212482 SOURCES/llvm-13.0.1.src.tar.xz +975020d4f7164d84a89f0f9b2153dd870d06e02d SOURCES/llvm-14.0.6.src.tar.xz b8d2648a01d36ed0186fd2c5af325fd28797f9a0 SOURCES/tstellar-gpg-key.asc diff --git a/SOURCES/0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch b/SOURCES/0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch new file mode 100644 index 0000000..1ddfb0c --- /dev/null +++ b/SOURCES/0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch @@ -0,0 +1,35 @@ +From 3df079ae29426b4bee3ca11681a41958d72b983a Mon Sep 17 00:00:00 2001 +From: Nikita Popov +Date: Mon, 31 Jan 2022 10:33:27 +0100 +Subject: [PATCH] Disable CrashRecoveryTest.DumpStackCleanup test on aarch64 + +Produces a non-reproducible failure on aarch64: +https://bugzilla.redhat.com/show_bug.cgi?id=2048440 +--- + llvm/unittests/Support/CrashRecoveryTest.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/llvm/unittests/Support/CrashRecoveryTest.cpp b/llvm/unittests/Support/CrashRecoveryTest.cpp +index e95513eb2841..afb1d3a1f6a2 100644 +--- a/llvm/unittests/Support/CrashRecoveryTest.cpp ++++ b/llvm/unittests/Support/CrashRecoveryTest.cpp +@@ -76,6 +76,7 @@ TEST(CrashRecoveryTest, Cleanup) { + llvm::CrashRecoveryContext::Disable(); + } + ++#ifndef __aarch64__ + TEST(CrashRecoveryTest, DumpStackCleanup) { + SmallString<128> Filename; + std::error_code EC = sys::fs::createTemporaryFile("crash", "test", Filename); +@@ -101,6 +102,7 @@ TEST(CrashRecoveryTest, DumpStackCleanup) { + EXPECT_EQ(GlobalInt, 1); + llvm::CrashRecoveryContext::Disable(); + } ++#endif + + TEST(CrashRecoveryTest, LimitedStackTrace) { + std::string Res; +-- +2.34.1 + + diff --git a/SOURCES/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch b/SOURCES/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch index 1866a66..4c4a9cf 100644 --- a/SOURCES/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch +++ b/SOURCES/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch @@ -23,8 +23,8 @@ index bd0de60268b6..cc5d56b0c512 100644 ; powerpc64 (and on x86_64 at at least -O2). Presumably this is a SelectionDAG ; issue. ; FIXME: arm64 is an alias for aarch64 on macs, apparently? --; XFAIL: powerpc64, aarch64, arm64, hexagon -+; XFAIL: powerpc64, aarch64, arm64, hexagon, ppc64le +-; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv ++; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, ppc64le ; Build from the following source with clang -O2. diff --git a/SOURCES/llvm-13.0.1.src.tar.xz.sig b/SOURCES/llvm-13.0.1.src.tar.xz.sig deleted file mode 100644 index 2cba778..0000000 Binary files a/SOURCES/llvm-13.0.1.src.tar.xz.sig and /dev/null differ diff --git a/SOURCES/llvm-14.0.6.src.tar.xz.sig b/SOURCES/llvm-14.0.6.src.tar.xz.sig new file mode 100644 index 0000000..5629b21 Binary files /dev/null and b/SOURCES/llvm-14.0.6.src.tar.xz.sig differ diff --git a/SPECS/llvm.spec b/SPECS/llvm.spec index 0c4eb32..e9c02a2 100644 --- a/SPECS/llvm.spec +++ b/SPECS/llvm.spec @@ -1,3 +1,8 @@ +# We are building with clang for faster/lower memory LTO builds. +# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros +%global toolchain clang + + # Components enabled if supported by target architecture: %define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x %ifarch %{gold_arches} @@ -11,16 +16,16 @@ %bcond_without check %if %{with bundle_compat_lib} -%global compat_maj_ver 12 +%global compat_maj_ver 13 %global compat_ver %{compat_maj_ver}.0.1 %endif %global llvm_libdir %{_libdir}/%{name} %global build_llvm_libdir %{buildroot}%{llvm_libdir} -#%%global rc_ver 5 -%global maj_ver 13 +#global rc_ver 4 +%global maj_ver 14 %global min_ver 0 -%global patch_ver 1 +%global patch_ver 6 %if !%{maj_ver} && 0%{?rc_ver} %global abi_revision 2 %endif @@ -60,6 +65,14 @@ %global _dwz_low_mem_die_limit_s390x 1 %global _dwz_max_die_limit_s390x 1000000 +%ifarch %{arm} +# koji overrides the _gnu variable to be gnu, which is not correct for clang, so +# we need to hard-code the correct triple here. +%global llvm_triple armv7l-redhat-linux-gnueabihf +%else +%global llvm_triple %{_host} +%endif + Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} Release: 1%{?dist} @@ -82,13 +95,16 @@ Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat %if 0%{?abi_revision} Patch0: 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch %endif -Patch2: 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch +Patch1: 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch +Patch2: 0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch # RHEL-specific patches Patch101: 0001-Deactivate-markdown-doc.patch +#Patch102: 1.patch BuildRequires: gcc BuildRequires: gcc-c++ +BuildRequires: clang BuildRequires: cmake BuildRequires: ninja-build BuildRequires: zlib-devel @@ -214,15 +230,12 @@ LLVM's modified googletest sources. %build -# Disable LTO on s390x, this causes some test failures: -# LLVM-Unit :: Target/AArch64/./AArch64Tests/InstSizes.Authenticated -# LLVM-Unit :: Target/AArch64/./AArch64Tests/InstSizes.PATCHPOINT -# LLVM-Unit :: Target/AArch64/./AArch64Tests/InstSizes.STACKMAP -# LLVM-Unit :: Target/AArch64/./AArch64Tests/InstSizes.TLSDESC_CALLSEQ -# On X86_64, LTO builds of TableGen crash. This can be reproduced by: -# %%cmake_build --target include/llvm/IR/IntrinsicsAArch64.h -# Because of these failures, lto is disabled for now. -%global _lto_cflags %{nil} +#ifarch s390 s390x +# Fails with "exceeded PCRE's backtracking limit" +%global _lto_cflags %nil +#else +#global _lto_cflags -flto=thin +#endif %ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final library linking @@ -230,7 +243,7 @@ LLVM's modified googletest sources. %endif # force off shared libs as cmake macros turns it on. -%cmake -G Ninja \ +%cmake -G Ninja \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DLLVM_PARALLEL_LINK_JOBS=1 \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -265,7 +278,7 @@ LLVM's modified googletest sources. \ -DLLVM_INCLUDE_TESTS:BOOL=ON \ -DLLVM_BUILD_TESTS:BOOL=ON \ - -DLLVM_LIT_EXTRA_ARGS=-v \ + -DLLVM_LIT_ARGS=-v \ \ -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ -DLLVM_BUILD_EXAMPLES:BOOL=OFF \ @@ -293,10 +306,12 @@ LLVM's modified googletest sources. -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ %{?abi_revision:-DLLVM_ABI_REVISION=%{abi_revision}} \ \ + -DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \ - -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 + -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \ + -DLLVM_INCLUDE_BENCHMARKS=OFF # Build libLLVM.so first. This ensures that when libLLVM.so is linking, there # are no other compile jobs running. This will help reduce OOM errors on the @@ -375,7 +390,7 @@ cp -R utils/UpdateTestChecks %{install_srcdir}/utils/ %if %{with gold} # Add symlink to lto plugin in the binutils plugin directory. %{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/ -ln -s %{_libdir}/LLVMgold.so %{buildroot}%{_libdir}/bfd-plugins/ +ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so %endif %else @@ -438,6 +453,9 @@ rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix} # ghost presence touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix} +%if %{without compat_build} +cp -Rv ../cmake/Modules/* %{buildroot}%{_libdir}/cmake/llvm +%endif %check @@ -583,6 +601,18 @@ fi %endif %changelog +* Mon Jul 18 2022 Timm Bäder - 14.0.6-1 +- Update to 14.0.6 + +* Mon Jun 20 2022 Timm Bäder - 14.0.5-1 +- Update to 14.0.5 + +* Fri Apr 29 2022 Timm Bäder - 14.0.0-2 +- Remove llvm-cmake-devel package + +* Wed Apr 13 2022 Timm Bäder - 14.0.0-1 +- Update to 14.0.0 + * Wed Feb 02 2022 Tom Stellard - 13.0.1-1 - 13.0.1 Release