From f6aaf04417287d53a47fccfc44382327d882549f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 5 Apr 2023 11:26:49 +0200 Subject: [PATCH] 16.0.0 Release Resolves: rhbz#2178800 --- .gitignore | 6 ++++++ llvm.spec | 63 ++++++++++++++++++++++++++++++++++++++++++------------ sources | 9 +++++--- 3 files changed, 61 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 989e519..c657e4b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,9 @@ SOURCES/release-keys.asc /cmake-15.0.7.src.tar.xz /llvm-15.0.7.src.tar.xz /release-keys.asc +/llvm-16.0.0.src.tar.xz +/llvm-16.0.0.src.tar.xz.sig +/cmake-16.0.0.src.tar.xz +/cmake-16.0.0.src.tar.xz.sig +/third-party-16.0.0.src.tar.xz +/third-party-16.0.0.src.tar.xz.sig diff --git a/llvm.spec b/llvm.spec index 13d3455..142010c 100644 --- a/llvm.spec +++ b/llvm.spec @@ -13,12 +13,14 @@ %bcond_with compat_build %bcond_without check -#global rc_ver 3 -%global maj_ver 15 +#global rc_ver 4 +%global maj_ver 16 %global min_ver 0 -%global patch_ver 7 +%global patch_ver 0 %global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src +%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src +%global _lto_cflags -flto=thin %if %{with compat_build} %global pkg_name llvm%{maj_ver} @@ -40,6 +42,14 @@ %global exec_suffix %{nil} %endif +%if 0%{?rhel} +%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly" +%global experimental_targets_to_build "" +%else +%global targets_to_build "all" +%global experimental_targets_to_build "AVR" +%endif + %global build_install_prefix %{buildroot}%{install_prefix} # Lower memory usage of dwz on s390x @@ -94,23 +104,30 @@ Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} Release: 1%{?dist} Summary: The Low Level Virtual Machine -License: NCSA +License: Apache-2.0 WITH LLVM-exception OR NCSA URL: http://llvm.org Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig -Source4: release-keys.asc +Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz +Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz.sig +Source6: release-keys.asc %if %{without compat_build} -Source5: run-lit-tests -Source6: lit.fedora.cfg.py +Source7: run-lit-tests +Source8: lit.fedora.cfg.py %endif -Patch2: 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch +# Backport from LLVM 17. +Patch0: D145763.diff # RHEL-specific patches. Patch101: 0001-Deactivate-markdown-doc.patch +# See https://reviews.llvm.org/D137890 for the next two patches +Patch2: 0001-llvm-Add-install-targets-for-gtest.patch +# Patching third-party dir with a 200 offset in patch number +Patch201: 0201-third-party-Add-install-targets-for-gtest.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -249,14 +266,21 @@ This is the main package for llvm-toolset. %endif %prep -%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE2}' +%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}' +%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}' %setup -T -q -b 2 -n %{cmake_srcdir} # TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir}, # but this is not a CACHED variable, so we can't actually set it externally :( cd .. mv %{cmake_srcdir} cmake -%autosetup -n %{llvm_srcdir} -p2 +%setup -T -q -b 4 -n %{third_party_srcdir} +%autopatch -m200 -p2 +cd .. +mv %{third_party_srcdir} third-party + +%setup -T -q -b 0 -n %{llvm_srcdir} +%autopatch -M200 -p2 %py3_shebang_fix \ test/BugPoint/compile-custom.ll.py \ @@ -283,6 +307,9 @@ find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pa %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif +# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files. +export ASMFLAGS=$CFLAGS + # force off shared libs as cmake macros turns it on. %cmake -G Ninja \ -DBUILD_SHARED_LIBS:BOOL=OFF \ @@ -319,6 +346,7 @@ find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pa \ -DLLVM_INCLUDE_TESTS:BOOL=ON \ -DLLVM_BUILD_TESTS:BOOL=ON \ + -DLLVM_INSTALL_GTEST:BOOL=ON \ -DLLVM_LIT_ARGS=-v \ \ -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ @@ -345,7 +373,6 @@ find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pa -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \ -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ - \ -DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ @@ -390,13 +417,14 @@ rm -rf test/tools/UpdateTestChecks %endif install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir} +install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir} %global install_srcdir %{buildroot}%{_datadir}/llvm/src # Install gtest sources so clang can use them for gtest install -d %{install_srcdir} install -d %{install_srcdir}/utils/ -cp -R utils/unittest %{install_srcdir}/utils/ +cp -R ../third-party/unittest %{install_srcdir}/utils/ # Clang needs these for running lit tests. cp utils/update_cc_test_checks.py %{install_srcdir}/utils/ @@ -469,7 +497,7 @@ rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix} touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix} %if %{without compat_build} -cp -Rv ../cmake/Modules/* %{buildroot}%{_libdir}/cmake/llvm +cp -Rv ../cmake/Modules/* %{buildroot}%{pkg_libdir}/cmake/llvm %endif @@ -586,6 +614,7 @@ fi %if %{without compat_build} %{_libdir}/*.a %exclude %{_libdir}/libLLVMTestingSupport.a +%exclude %{_libdir}/libLLVMTestingAnnotations.a %else %{_libdir}/%{name}/lib/*.a %endif @@ -605,6 +634,9 @@ fi %license LICENSE.TXT %{_datadir}/llvm/src/utils %{_libdir}/libLLVMTestingSupport.a +%{_libdir}/libLLVMTestingAnnotations.a +%{_includedir}/llvm-gtest +%{_includedir}/llvm-gmock %if 0%{?rhel} %files toolset @@ -614,6 +646,9 @@ fi %endif %changelog +* Wed Apr 05 2023 Timm Bäder - 16.0.0-1 +- 16.0.0 Release + * Thu Jan 19 2023 Tom Stellard - 15.0.7-1 - 15.0.7 Release diff --git a/sources b/sources index e44ce4d..638b07a 100644 --- a/sources +++ b/sources @@ -1,3 +1,6 @@ -SHA512 (cmake-15.0.7.src.tar.xz) = 85097a6eaee0df004567905f7e5ce8ca02e3b46c6fc66fa552fe99734642e6ee61685de4e5e6e8b505963334d7b91d98ecd9c5870e6bdd3f0018ee5b963ffa96 -SHA512 (llvm-15.0.7.src.tar.xz) = ed8d565515b1bc6164e4ff06d3388ba92e332850305496fd65db9adf1ec87bd9dd1bfde49dd41be5d5216289efc72bfd287cd7392f2bba80b740d4c314c749e5 -SHA512 (release-keys.asc) = 08eab15cd40116bb1eea5ddcdd2822d248d6d7f5dce37868aa7152377aa0062567fe571909a1c9d3c3f8978ebcf5e0f6b0ab8fff13e3578c0548e21be3026462 +SHA512 (llvm-16.0.0.src.tar.xz) = 5f27678a40f02fa2c1481be1b1346c8c8405d7d44357cc22c6d06409f4859b3c8be1a1957d4cc1ed9005ccc0ed3ff47823bb0dd458586b7982ef369300d0dc8a +SHA512 (llvm-16.0.0.src.tar.xz.sig) = 5e2540ea34b918c98e82e9917714186894cfce799b495bfeff3ba7893f3040a002d89d7adb1c1f82d4e6565baa1d2c1419141bd872242863ccd170920e84dd26 +SHA512 (cmake-16.0.0.src.tar.xz) = 4f21461aa8165061dbea47dcda4f098957e16bd307484bcb66884cf5a0776197f69a74002d5601229c4630db53ac44049f3f2ce1e96a6bb16ba3df828d387932 +SHA512 (cmake-16.0.0.src.tar.xz.sig) = c8e22d62b73ed56e66af6e7ce7a8f41de7cc16cd1243ebb602a3e5077141c03d64ca75295ca08b0051c887f59c7a53b871f7a45ead3275e11310f574a50856aa +SHA512 (third-party-16.0.0.src.tar.xz) = 85ad7f930aa632871f2ad51c3a60c86c0e4cde043d98f40d47529618ea61b16a2a978b637ff90b53a5b29d81386adc422caf7398206c981e452dbd009d88a3e1 +SHA512 (third-party-16.0.0.src.tar.xz.sig) = 7edf5e8767cc582917ce6ffa25ab2cd28f911e319f3e2ff76078b8103f2c4dce048878668ad00d5440911f0fd74d3ccc9f9e9aef80782c789dd560f3558c31a7