Update to 14.0.0

Resolves: rhbz#2061041
This commit is contained in:
Timm Bäder 2022-04-13 08:46:59 +02:00
parent df7ee2f3e3
commit d1b896cbe4
6 changed files with 99 additions and 24 deletions

2
.gitignore vendored
View File

@ -108,3 +108,5 @@
/llvm-13.0.0.src.tar.xz.sig
/llvm-13.0.1.src.tar.xz
/llvm-13.0.1.src.tar.xz.sig
/llvm-14.0.0.src.tar.xz
/llvm-14.0.0.src.tar.xz.sig

View File

@ -0,0 +1,35 @@
From 3df079ae29426b4bee3ca11681a41958d72b983a Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
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

View File

@ -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.

View File

@ -1,3 +1,7 @@
# 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}
@ -7,20 +11,20 @@
%endif
%bcond_with compat_build
%bcond_with bundle_compat_lib
%bcond_without bundle_compat_lib
%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 0
%if !%{maj_ver} && 0%{?rc_ver}
%global abi_revision 2
%endif
@ -60,6 +64,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 +94,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
@ -169,6 +184,14 @@ Summary: LLVM shared libraries
%description libs
Shared libraries for the LLVM compiler infrastructure.
%if %{without compat_build}
%package cmake-devel
Summary: LLVM shared development CMake files
%description cmake-devel
Some CMake files that are shared by LLVM sub-projects when building.
%endif
%package static
Summary: LLVM static libraries
Conflicts: %{name}-devel < 8
@ -214,15 +237,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 +250,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 +285,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 +313,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 +397,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 +460,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
@ -580,9 +605,15 @@ fi
%{_datadir}/llvm/src/utils
%{_libdir}/libLLVMTestingSupport.a
%files cmake-devel
%{_libdir}/cmake/llvm
%endif
%changelog
* Wed Apr 13 2022 Timm Bäder <tbaeder@redhat.com> - 14.0.0-1
- Update to 14.0.0
* Wed Feb 02 2022 Tom Stellard <tstellar@redhat.com> - 13.0.1-1
- 13.0.1 Release

View File

@ -1,2 +1,3 @@
SHA512 (llvm-14.0.0.src.tar.xz) = 3e2e9d7ccc44abeff189b76c3a8b1fcfed1f6846e8933cd002d9476a017f28ef4bd8d0e290be1838d50054038a3e0bcfad29d28733a01b811ddaaf11e0c4445f
SHA512 (llvm-13.0.1.src.tar.xz) = 05fbe8708ac3d0dfef3a9135ee88185a95ed492095429a97d33b8aadb0187e59ad42d1a7184f02b5c84fdd31f3d7227c65bd292ed0aa039b29522e59cf90a965
SHA512 (llvm-13.0.1.src.tar.xz.sig) = 0db0076fee269faa477ff7ff42c3ef5bd24cb3816219bbc093080fd4f7516e5414dc0f686325761ff57255d91307cd3f4dbba9066ea7cd69fb819a856f05bde8
SHA512 (llvm-14.0.0.src.tar.xz.sig) = ac9c5508644a2bad10a7c7bc46f3f9a127b8e83c136bc553252048b14a2b72f924034490c0cdcf32c91b30b03e26768c925e3155fce5748bc2b53ed581056555

View File

@ -22,13 +22,19 @@ adjust:
# Unfortunatelly, TMT does not support more declarative approach, we need to run commands on our own.
- because: "On RHEL, CRB must be enabled to provide rarer packages"
when: >-
distro == centos
or distro == rhel-9
distro == rhel-9
or distro == rhel-8
prepare+:
- name: Enable CRB
how: shell
script: dnf config-manager --set-enabled rhel-CRB
- because: "On RHEL, CRB must be enabled to provide rarer packages"
when: >-
distro == centos
prepare+:
- name: Enable CRB
how: shell
script: dnf config-manager --set-enabled crb
discover:
- name: "Upstream LLVM tests for build/PR gating"