The package rpms/llvm.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/llvm.git/commit/?id=bf19c70bc03ee...
https://src.fedoraproject.org/cgit/rpms/llvm.git/commit/?id=c7a62f31ea32c....
Change:
+%ifarch ppc64le
+%ifarch %ix86
Thanks.
Full change:
============
commit de70be449667b4c4542b0d43dc8230b99ab7cd50
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 23 07:33:37 2023 -0300
Update to LLVM 17.0.0 RC3
diff --git a/0001-Fix-regression-of-D157680.patch b/0001-Fix-regression-of-D157680.patch
new file mode 100644
index 0000000..9e7d8ff
--- /dev/null
+++ b/0001-Fix-regression-of-D157680.patch
@@ -0,0 +1,27 @@
+From b7cf9bbfde5e623e16fe8669e18aa34cbb3afafa Mon Sep 17 00:00:00 2001
+From: XinWang10 <xin10.wang(a)intel.com>
+Date: Fri, 18 Aug 2023 00:08:01 -0700
+Subject: [PATCH] Fix regression of D157680
+
+Test cases in D157680 should be target specific, but miss some limit, add them back to
make buildbot pass.
+
+Reviewed By: skan, Hahnfeld
+
+Differential Revision:
https://reviews.llvm.org/D158252
+---
+diff --git a/llvm/test/CodeGen/X86/x86-prefer-no-gather-no-scatter.ll
b/llvm/test/CodeGen/X86/x86-prefer-no-gather-no-scatter.ll
+index e3f3622f146d..33250b3495a0 100644
+--- a/llvm/test/CodeGen/X86/x86-prefer-no-gather-no-scatter.ll
++++ b/llvm/test/CodeGen/X86/x86-prefer-no-gather-no-scatter.ll
+@@ -1,6 +1,6 @@
+ ; Check that if option prefer-no-gather/scatter can disable gather/scatter
instructions.
+-; RUN: llc -mattr=+avx2,+fast-gather %s -o - | FileCheck %s --check-prefixes=GATHER
+-; RUN: llc -mattr=+avx2,+fast-gather,+prefer-no-gather %s -o - | FileCheck %s
--check-prefixes=NO-GATHER
++; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx2,+fast-gather %s -o - |
FileCheck %s --check-prefixes=GATHER
++; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx2,+fast-gather,+prefer-no-gather
%s -o - | FileCheck %s --check-prefixes=NO-GATHER
+ ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512vl,+avx512dq < %s |
FileCheck %s --check-prefix=SCATTER
+ ; RUN: llc -mtriple=x86_64-unknown-linux-gnu
-mattr=+avx512vl,+avx512dq,+prefer-no-gather < %s | FileCheck %s
--check-prefix=SCATTER-NO-GATHER
+ ; RUN: llc -mtriple=x86_64-unknown-linux-gnu
-mattr=+avx512vl,+avx512dq,+prefer-no-scatter < %s | FileCheck %s
--check-prefix=GATHER-NO-SCATTER
+--
+2.41.0
+
diff --git a/llvm.spec b/llvm.spec
index 89ddf08..db46b54 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -37,7 +37,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 2
+%global rc_ver 3
%if %{with snapshot_build}
%undefine rc_ver
@@ -100,7 +100,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 2%{?dist}
+Release: 1%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -119,8 +119,8 @@
Source4:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
Source5:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
Source6: release-keys.asc
-# Backport of
https://reviews.llvm.org/D156379 from LLVM 18.
-Patch1: D156379.diff
+# Backport of
https://reviews.llvm.org/D158252 from LLVM 18.
+Patch1: 0001-Fix-regression-of-D157680.patch
%endif
# RHEL-specific patch to avoid unwanted recommonmark dep
@@ -616,11 +616,14 @@ fi
%endif
%changelog
+%{?llvm_snapshot_changelog_entry}
+
+* Thu Aug 24 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc3-1
+- Update to LLVM 17.0.0 RC3
+
* Thu Aug 24 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc2-2
- Temporarily disable a failing test on ppc64le
-%{?llvm_snapshot_changelog_entry}
-
* Thu Aug 17 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc2-1
- Update to LLVM 17.0.0 RC2
diff --git a/sources b/sources
index c9137f2..2c4b325 100644
--- a/sources
+++ b/sources
@@ -1,6 +1,6 @@
-SHA512 (cmake-17.0.0rc2.src.tar.xz) =
e609eb4262a75719169741313b82a3e300955bb9acdbb8a7c5433948f8c8a05ca3fdc4cdee2576917b85dc11929a05b1ccacc5e963b4de067b48759d06ed2c99
-SHA512 (cmake-17.0.0rc2.src.tar.xz.sig) =
3a6bd75d4f8b4f605af7e287cb43461e3f7d9c423f8549ad84e2d2f9a38e5f3d210c7fbeaa1bf9f609ff23cc4454420a21c02d73097d101c57cc8451226a7ae2
-SHA512 (llvm-17.0.0rc2.src.tar.xz) =
7c3f6f5f74a481cae1d7a96fecbadae9c9f84636c6783344994bdd9b905c11fa923339ee8223ae54ba0ebffd9bf95014429bd6be39e731e32f0c726a62f1e6c6
-SHA512 (llvm-17.0.0rc2.src.tar.xz.sig) =
80995b282d9e470e060265e73e80216f9a5e96f2a19585898d4b6b63bf7fca7d4970c72611750d3ea3f35b593ce51faae17873c0d5f4232251db3c98f73c77f0
-SHA512 (third-party-17.0.0rc2.src.tar.xz) =
878b14ed25c4c9660244e0a621f4e107b5f7ae8e60e2c9396b0bbbedaecd8bf596fa5081ef13243aa75f0ca73750f90387a327724ffcef72efb9c817b13284e8
-SHA512 (third-party-17.0.0rc2.src.tar.xz.sig) =
c5c20e6d23c3355adddd0015df3122eae13c1b6612aa1158a1ef7cee639b6b7cda3d377f1004997d95787744df41b9a71fa4d845f378c2dd6c377233fcbed569
+SHA512 (cmake-17.0.0rc3.src.tar.xz) =
2ac07f705f09f4332ce91b9ce62e2fa0d50f52c32123b51f3668dc9e23a3f876b1f37a1924d2a88e6a2e8184f5538a9319f40e97500bb39fb159bb84d6bc31ab
+SHA512 (cmake-17.0.0rc3.src.tar.xz.sig) =
69b55839af4f1c6e0e538684b7e753b83076f88af87f524cd15766de05cad9fbf91db7de0710cf6343c43f25429415bd02a6728837f59af4134da4340e47bff0
+SHA512 (llvm-17.0.0rc3.src.tar.xz) =
2a16d34f82f74335dace530c3c17d4c52ebbd6ff07beae2182c6deb2c4569e9d914131cc8b842fafc7352a7c3f19af82cb69d955b12b28cde5e2e7bf398c75f3
+SHA512 (llvm-17.0.0rc3.src.tar.xz.sig) =
c8d5c263d3fcaa79ffb55f3df68ca6488d3eb0435c756fdabac38873fffae1992b4a21f0057493d3eb55788fb8a2e06819dbf6d4c2ad06cbfa02ee5041fcbfdd
+SHA512 (third-party-17.0.0rc3.src.tar.xz) =
f87ec068b36c6a76dc8590b36a96eb152abc320c1a13a6f7ebde22b5b52c9a1447ec83f8dc672b11edbe701bcb52c3da84aabcf4994f22a8ffeab87f78d0e452
+SHA512 (third-party-17.0.0rc3.src.tar.xz.sig) =
7d272e725fe265d14fec6c5b55ae304eb82f4c41d8e2bdaafe4c047f7ad319df0ef8749dedddf06172da3164abe5de4df4a87238b3e072e1cc7fad933195e736
commit bf19c70bc03eef0d0c16d258e352e5989497a43a
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Thu Aug 24 06:42:02 2023 -0300
Temporarily disable a failing test on ppc64le
ld.gold is crashing with an internal error.
Disable this test temporarily while the issue is being investigated and
fixed.
diff --git a/llvm.spec b/llvm.spec
index c87a3cc..89ddf08 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -100,7 +100,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -480,6 +480,10 @@ cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake
%ifarch %{arm}
rm test/tools/llvm-readobj/ELF/dependent-libraries.test
%endif
+%ifarch ppc64le
+# TODO: Re-enable when ld.gold fixed its internal error.
+rm test/tools/gold/PowerPC/mtriple.ll
+%endif
# non reproducible errors
rm test/tools/dsymutil/X86/swift-interface.test
@@ -612,6 +616,9 @@ fi
%endif
%changelog
+* Thu Aug 24 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc2-2
+- Temporarily disable a failing test on ppc64le
+
%{?llvm_snapshot_changelog_entry}
* Thu Aug 17 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc2-1
commit b7b35dbbdc037b0ecdc020e5cf8de415e929ff41
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Mon Aug 14 15:52:50 2023 -0300
Update to LLVM 17.0.0 RC2
diff --git a/llvm.spec b/llvm.spec
index 091d8cc..c87a3cc 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -37,7 +37,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 1
+%global rc_ver 2
%if %{with snapshot_build}
%undefine rc_ver
@@ -100,7 +100,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 4%{?dist}
+Release: 1%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -614,6 +614,9 @@ fi
%changelog
%{?llvm_snapshot_changelog_entry}
+* Thu Aug 17 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc2-1
+- Update to LLVM 17.0.0 RC2
+
* Wed Aug 16 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-4
- Disable LTO on i686
diff --git a/sources b/sources
index b3a6c97..c9137f2 100644
--- a/sources
+++ b/sources
@@ -1,6 +1,6 @@
-SHA512 (cmake-17.0.0rc1.src.tar.xz) =
765113906032571abddefb4173606c80f88d564fec54e45ff76967783658cf98b2a5c40ab351dec85f91ebc346768ebcf3922afd0e25178a402a36096c8220fa
-SHA512 (cmake-17.0.0rc1.src.tar.xz.sig) =
50c4600e4e686e752d65d60a75133b0058895ee6c9fa62187269f321f9f8feef207412f5e4099eb7da0ae9c90b3f13c81a01c59fd90b2bbca83174b787fd9b84
-SHA512 (llvm-17.0.0rc1.src.tar.xz) =
cb1d10a4ccf00a9b1a9a19a6ff42cf4dad832abbf7ea4e2624018c4372d62cb0b851841be02f9abab308bcaefc1d07f0512956cd752bf91d4ac79b6d1d1d37ba
-SHA512 (llvm-17.0.0rc1.src.tar.xz.sig) =
73e3a361685cb7b097a4191dc55839180db8c27f939cadd1b46fa7fb4762543867cfc170ad9042e49b4160c2a6660f0e06f8311151e45100906b28838a7ba8cc
-SHA512 (third-party-17.0.0rc1.src.tar.xz) =
740923fd1691a2f210d632896f20db6904573ab383396edae22ac238a792a73f031989a71fbfe3f46930c4fbca023133833a7d04dcbba217d9983b239ea49705
-SHA512 (third-party-17.0.0rc1.src.tar.xz.sig) =
d319cdbac76f069ae41400b0320144e7a4289ae843cd63252c18d14e35e1f7f9b23169d6a2f4fbb7fae81fd0dabd32370c61bfa07742cf90a6571da443feb3cf
+SHA512 (cmake-17.0.0rc2.src.tar.xz) =
e609eb4262a75719169741313b82a3e300955bb9acdbb8a7c5433948f8c8a05ca3fdc4cdee2576917b85dc11929a05b1ccacc5e963b4de067b48759d06ed2c99
+SHA512 (cmake-17.0.0rc2.src.tar.xz.sig) =
3a6bd75d4f8b4f605af7e287cb43461e3f7d9c423f8549ad84e2d2f9a38e5f3d210c7fbeaa1bf9f609ff23cc4454420a21c02d73097d101c57cc8451226a7ae2
+SHA512 (llvm-17.0.0rc2.src.tar.xz) =
7c3f6f5f74a481cae1d7a96fecbadae9c9f84636c6783344994bdd9b905c11fa923339ee8223ae54ba0ebffd9bf95014429bd6be39e731e32f0c726a62f1e6c6
+SHA512 (llvm-17.0.0rc2.src.tar.xz.sig) =
80995b282d9e470e060265e73e80216f9a5e96f2a19585898d4b6b63bf7fca7d4970c72611750d3ea3f35b593ce51faae17873c0d5f4232251db3c98f73c77f0
+SHA512 (third-party-17.0.0rc2.src.tar.xz) =
878b14ed25c4c9660244e0a621f4e107b5f7ae8e60e2c9396b0bbbedaecd8bf596fa5081ef13243aa75f0ca73750f90387a327724ffcef72efb9c817b13284e8
+SHA512 (third-party-17.0.0rc2.src.tar.xz.sig) =
c5c20e6d23c3355adddd0015df3122eae13c1b6612aa1158a1ef7cee639b6b7cda3d377f1004997d95787744df41b9a71fa4d845f378c2dd6c377233fcbed569
commit c7a62f31ea32c18043bebbe64491f68365ff21ac
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Thu Aug 17 09:59:30 2023 -0300
Disable LTO on i686
We're reaching a memory limit while linking libLLVM.so .
diff --git a/llvm.spec b/llvm.spec
index b8a1e46..091d8cc 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -24,6 +24,16 @@
%bcond_with compat_build
%bcond_without check
+%ifarch %ix86
+# Disable LTO on x86 in order to reduce memory consumption
+%bcond_with lto_build
+%elif %{with snapshot_build}
+# Disable LTO to speed up builds
+%bcond_with lto_build
+%else
+%bcond_without lto_build
+%endif
+
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
@@ -90,7 +100,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -261,8 +271,7 @@ mv %{third_party_srcdir} third-party
%build
-# Disable LTO to speed up builds
-%if %{with snapshot_build}
+%if %{without lto_build}
%global _lto_cflags %nil
%endif
@@ -353,8 +362,10 @@ export ASMFLAGS="%{build_cflags}"
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
- -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error" \
- -DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0"
+%if %{with lto_build}
+ -DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0" \
+%endif
+ -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
# 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
@@ -601,11 +612,14 @@ fi
%endif
%changelog
+%{?llvm_snapshot_changelog_entry}
+
+* Wed Aug 16 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-4
+- Disable LTO on i686
+
* Mon Aug 14 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-3
- Re-add patch removed by mistake
-%{?llvm_snapshot_changelog_entry}
-
* Tue Aug 01 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-2
- Enable LLVM_UNREACHABLE_OPTIMIZE temporarily
commit 15eacb3329fe993eb682ec35a60d2e3db8c29cad
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 16 13:54:03 2023 -0300
Apply rhel-specific patch on snapshot builds
Despite not testing on snapshot builds on RHEL, it's a good practice to
have the code ready for that.
diff --git a/llvm.spec b/llvm.spec
index db3df0a..b8a1e46 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -111,10 +111,10 @@ Source6: release-keys.asc
# Backport of
https://reviews.llvm.org/D156379 from LLVM 18.
Patch1: D156379.diff
+%endif
# RHEL-specific patch to avoid unwanted recommonmark dep
Patch101: 0101-Deactivate-markdown-doc.patch
-%endif
BuildRequires: gcc
BuildRequires: gcc-c++
commit cb1bdb3739e74f1a69c3d7c6b3001d7d65443486
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Mon Aug 14 18:40:54 2023 -0300
Re-add patch removed by mistake
Fixes: d5b39fd0812d84b5 ("Update to LLVM 17.0.0 RC1")
diff --git a/llvm.spec b/llvm.spec
index 5ef997d..db3df0a 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -90,7 +90,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -109,6 +109,9 @@
Source4:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
Source5:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
Source6: release-keys.asc
+# Backport of
https://reviews.llvm.org/D156379 from LLVM 18.
+Patch1: D156379.diff
+
# RHEL-specific patch to avoid unwanted recommonmark dep
Patch101: 0101-Deactivate-markdown-doc.patch
%endif
@@ -598,6 +601,9 @@ fi
%endif
%changelog
+* Mon Aug 14 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-3
+- Re-add patch removed by mistake
+
%{?llvm_snapshot_changelog_entry}
* Tue Aug 01 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-2
commit 2ec945401e697db34c798900af2a2757787723ac
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue Aug 1 16:53:22 2023 -0300
Enable LLVM_UNREACHABLE_OPTIMIZE temporarily
This has been causing issues when building clang. Enable it temporarily
until the root cause is found and fixed.
diff --git a/llvm.spec b/llvm.spec
index e07e711..5ef997d 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -90,7 +90,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -272,6 +272,7 @@ mv %{third_party_srcdir} third-party
export ASMFLAGS="%{build_cflags}"
# force off shared libs as cmake macros turns it on.
+# TODO: Disable LLVM_UNREACHABLE_OPTIMIZE.
%cmake -G Ninja \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DLLVM_PARALLEL_LINK_JOBS=1 \
@@ -338,7 +339,7 @@ export ASMFLAGS="%{build_cflags}"
-DLLVM_VERSION_SUFFIX='' \
%endif
%endif
- -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
+ -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
@@ -599,6 +600,9 @@ fi
%changelog
%{?llvm_snapshot_changelog_entry}
+* Tue Aug 01 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-2
+- Enable LLVM_UNREACHABLE_OPTIMIZE temporarily
+
* Mon Jul 31 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-1
- Update to LLVM 17.0.0 RC1
commit d5b39fd0812d84b59ee7da24a2fe7e0f87ba22c2
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 9 11:47:38 2023 -0300
Update to LLVM 17.0.0 RC1
This is also a squashed merge commit from upstream-snapshot (commit ID
340b9e8ea37dcbca) into rawhide whose most important commits from
upstream-snapshot are:
Konrad Kleine (50):
Prepare for snapshot build
Fix RPM build errors: File not found:
/builddir/build/BUILDROOT/llvm-14.0.0~pre20211103.g1febf42f03f664-1.fc34.x86_64/usr/lib64/libLLVM-14.so
Added back patch file
Rebased with new patches from rawhide that weren't yet in the streamline
branch
Fix RPM build errors: File not found:
/builddir/build/BUILDROOT/llvm-14.0.0~pre20211103.g1febf42f03f664-1.fc34.x86_64/usr/lib64/libLLVM-14.so
Disable LTO for anything older than Fedora 34
Use llvm_snapshot_version_suffix
Remove patch for
https://reviews.llvm.org/D108332 which is already upstream
Only package cmake-devel when building a snapshot package and when NOT building
in compat mode
Fix RPM build
Fix Macro expanded in comment on line 586: %{_libdir}/libLLVM-%{maj_ver}
Fix rpm build warning/error: absolute symlink
Default to DWARF4
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Rebased patched on pagure/streamline
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Added 0004-PATCH-clang-Revert-cmake-Don-t-install-plugins-used-.patch
Revert "Added
0004-PATCH-clang-Revert-cmake-Don-t-install-plugins-used-.patch"
Workaround linker error: memory exhausted
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Added pgo_instrumented_build cmake args
Fix /usr/bin/ld: cannot find
/usr/lib64/clang/13.0.0/lib/linux/libclang_rt.profile-x86_64.a: No such file or directory
Move bcond in cmake down in case we want to override stuff
Make llvm use the llvm-snapshot-builder as well
Use %{llvm_snapshot_extra_source_tags} macro
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Patch renewal from rebased llvm-project pagure/streamline branch
Try to lock llvm* and clang* packages so that we don't install LLVM from a
previous copr build
Revert "Try to lock llvm* and clang* packages so that we don't install
LLVM from a previous copr build"
Rebase onto pagure/main
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
use llvm+cmake tarballs instead of big llvm-project and close unclosed %if
Fixup: clang->cmake
Move globals down for them to be expanded correctly
Fix merge issue with patch
Test without some patches
Compiles and installs again
Adapt to standalone third-party dir
bring back files to llvm-googletest package
fixing path to unittest
Manually add
https://reviews.llvm.org/D137890
Add missing patch files
Apply patchfiles independently for llvm and third-party dir
List third-party gmock/gtest files in install
Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot
Re-enable patches for gtest
Disable LTO to speed up builds
Added libLLVMTestingAnnotations.a to googletest subpackage
Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot
Nikita Popov (1):
Sync with rawhide
Tom Stellard (13):
Add patch to fix some lit test failures
Revert "Add patch to fix some lit test failures"
Add a patch from main branch to fix some lit tests
Revert "Add a patch from main branch to fix some lit tests"
Remove patch applied upstream
Remove another upstreamed patch
Add llvm-googletest dependency to llvm-devel
Add JITLink patch to fix clang failures on aarch64 with libgcc-13
Revert "Add JITLink patch to fix clang failures on aarch64 with
libgcc-13"
Fix a test failure on s390x
Revert "Fix a test failure on s390x"
copr: Install llvm-snapshot-builder from the local COPR project
Sync with rawhide
sergesanspaille (1):
Rebase downstream patches
diff --git a/.copr/Makefile b/.copr/Makefile
new file mode 100644
index 0000000..753982b
--- /dev/null
+++ b/.copr/Makefile
@@ -0,0 +1,17 @@
+# See
https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm
+# See for the --setopt option in the enabling of copr repo see:
+#
https://pagure.io/copr/copr/issue/184
+
+COPR_USERNAME=$(shell rpm --eval %copr_username)
+COPR_PROJECT=$(shell rpm --eval %copr_projectname)
+
+.PHONY: srpm
+srpm:
+ dnf install -y dnf-plugins-core fedora-packager
+ dnf copr enable -y --setopt=reposdir=/tmp/yum.repos.d $(COPR_USERNAME)/$(COPR_PROJECT)
+ dnf install -y --setopt=reposdir=/tmp/yum.repos.d llvm-snapshot-builder
+ rpmbuild \
+ --define "_srcrpmdir $(outdir)" \
+ --define "_sourcedir $(shell pwd)" \
+ --define "_disable_source_fetch 0" \
+ -bs $(spec)
diff --git a/0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
b/0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
deleted file mode 100644
index 34128b6..0000000
--- a/0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From efbaf8bc61f4c0e29a3eaafb11ac0ddda8bd3dff Mon Sep 17 00:00:00 2001
-From: Ulrich Weigand <ulrich.weigand(a)de.ibm.com>
-Date: Fri, 30 Jun 2023 16:02:56 +0200
-Subject: [PATCH] [SystemZ] Improve error messages for unsupported relocations
-
-In the SystemZMCObjectWriter, we currently just abort in case
-some unsupported relocation in requested. However, as this
-situation can be triggered by invalid (inline) assembler input,
-we should really get a regular error message instead.
----
- .../MCTargetDesc/SystemZMCObjectWriter.cpp | 59 +++++++++++--------
- 1 file changed, 35 insertions(+), 24 deletions(-)
-
-diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
-index c23463ab9bde..0b11468afc52 100644
---- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
-+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
-@@ -9,6 +9,7 @@
- #include "MCTargetDesc/SystemZMCFixups.h"
- #include "MCTargetDesc/SystemZMCTargetDesc.h"
- #include "llvm/BinaryFormat/ELF.h"
-+#include "llvm/MC/MCContext.h"
- #include "llvm/MC/MCELFObjectWriter.h"
- #include "llvm/MC/MCExpr.h"
- #include "llvm/MC/MCFixup.h"
-@@ -40,7 +41,7 @@ SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
- /*HasRelocationAddend_=*/ true) {}
-
- // Return the relocation type for an absolute value of MCFixupKind Kind.
--static unsigned getAbsoluteReloc(unsigned Kind) {
-+static unsigned getAbsoluteReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_1: return ELF::R_390_8;
- case FK_Data_2: return ELF::R_390_16;
-@@ -49,11 +50,12 @@ static unsigned getAbsoluteReloc(unsigned Kind) {
- case SystemZ::FK_390_12: return ELF::R_390_12;
- case SystemZ::FK_390_20: return ELF::R_390_20;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported absolute address");
-+ return 0;
- }
-
- // Return the relocation type for a PC-relative value of MCFixupKind Kind.
--static unsigned getPCRelReloc(unsigned Kind) {
-+static unsigned getPCRelReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_2: return ELF::R_390_PC16;
- case FK_Data_4: return ELF::R_390_PC32;
-@@ -63,62 +65,69 @@ static unsigned getPCRelReloc(unsigned Kind) {
- case SystemZ::FK_390_PC24DBL: return ELF::R_390_PC24DBL;
- case SystemZ::FK_390_PC32DBL: return ELF::R_390_PC32DBL;
- }
-- llvm_unreachable("Unsupported PC-relative address");
-+ Ctx.reportError(Loc, "Unsupported PC-relative address");
-+ return 0;
- }
-
- // Return the R_390_TLS_LE* relocation type for MCFixupKind Kind.
--static unsigned getTLSLEReloc(unsigned Kind) {
-+static unsigned getTLSLEReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_4: return ELF::R_390_TLS_LE32;
- case FK_Data_8: return ELF::R_390_TLS_LE64;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported thread-local address (local-exec)");
-+ return 0;
- }
-
- // Return the R_390_TLS_LDO* relocation type for MCFixupKind Kind.
--static unsigned getTLSLDOReloc(unsigned Kind) {
-+static unsigned getTLSLDOReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_4: return ELF::R_390_TLS_LDO32;
- case FK_Data_8: return ELF::R_390_TLS_LDO64;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
-+ return 0;
- }
-
- // Return the R_390_TLS_LDM* relocation type for MCFixupKind Kind.
--static unsigned getTLSLDMReloc(unsigned Kind) {
-+static unsigned getTLSLDMReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_4: return ELF::R_390_TLS_LDM32;
- case FK_Data_8: return ELF::R_390_TLS_LDM64;
- case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_LDCALL;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
-+ return 0;
- }
-
- // Return the R_390_TLS_GD* relocation type for MCFixupKind Kind.
--static unsigned getTLSGDReloc(unsigned Kind) {
-+static unsigned getTLSGDReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case FK_Data_4: return ELF::R_390_TLS_GD32;
- case FK_Data_8: return ELF::R_390_TLS_GD64;
- case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_GDCALL;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported thread-local address (general-dynamic)");
-+ return 0;
- }
-
- // Return the PLT relocation counterpart of MCFixupKind Kind.
--static unsigned getPLTReloc(unsigned Kind) {
-+static unsigned getPLTReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
- switch (Kind) {
- case SystemZ::FK_390_PC12DBL: return ELF::R_390_PLT12DBL;
- case SystemZ::FK_390_PC16DBL: return ELF::R_390_PLT16DBL;
- case SystemZ::FK_390_PC24DBL: return ELF::R_390_PLT24DBL;
- case SystemZ::FK_390_PC32DBL: return ELF::R_390_PLT32DBL;
- }
-- llvm_unreachable("Unsupported absolute address");
-+ Ctx.reportError(Loc, "Unsupported PC-relative PLT address");
-+ return 0;
- }
-
- unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
- const MCValue &Target,
- const MCFixup &Fixup,
- bool IsPCRel) const {
-+ SMLoc Loc = Fixup.getLoc();
- unsigned Kind = Fixup.getKind();
- if (Kind >= FirstLiteralRelocationKind)
- return Kind - FirstLiteralRelocationKind;
-@@ -126,38 +135,40 @@ unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
- switch (Modifier) {
- case MCSymbolRefExpr::VK_None:
- if (IsPCRel)
-- return getPCRelReloc(Kind);
-- return getAbsoluteReloc(Kind);
-+ return getPCRelReloc(Ctx, Loc, Kind);
-+ return getAbsoluteReloc(Ctx, Loc, Kind);
-
- case MCSymbolRefExpr::VK_NTPOFF:
- assert(!IsPCRel && "NTPOFF shouldn't be PC-relative");
-- return getTLSLEReloc(Kind);
-+ return getTLSLEReloc(Ctx, Loc, Kind);
-
- case MCSymbolRefExpr::VK_INDNTPOFF:
- if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
- return ELF::R_390_TLS_IEENT;
-- llvm_unreachable("Only PC-relative INDNTPOFF accesses are supported for
now");
-+ Ctx.reportError(Loc, "Only PC-relative INDNTPOFF accesses are supported for
now");
-+ return 0;
-
- case MCSymbolRefExpr::VK_DTPOFF:
- assert(!IsPCRel && "DTPOFF shouldn't be PC-relative");
-- return getTLSLDOReloc(Kind);
-+ return getTLSLDOReloc(Ctx, Loc, Kind);
-
- case MCSymbolRefExpr::VK_TLSLDM:
- assert(!IsPCRel && "TLSLDM shouldn't be PC-relative");
-- return getTLSLDMReloc(Kind);
-+ return getTLSLDMReloc(Ctx, Loc, Kind);
-
- case MCSymbolRefExpr::VK_TLSGD:
- assert(!IsPCRel && "TLSGD shouldn't be PC-relative");
-- return getTLSGDReloc(Kind);
-+ return getTLSGDReloc(Ctx, Loc, Kind);
-
- case MCSymbolRefExpr::VK_GOT:
- if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
- return ELF::R_390_GOTENT;
-- llvm_unreachable("Only PC-relative GOT accesses are supported for now");
-+ Ctx.reportError(Loc, "Only PC-relative GOT accesses are supported for
now");
-+ return 0;
-
- case MCSymbolRefExpr::VK_PLT:
-- assert(IsPCRel && "@PLT shouldt be PC-relative");
-- return getPLTReloc(Kind);
-+ assert(IsPCRel && "@PLT shouldn't be PC-relative");
-+ return getPLTReloc(Ctx, Loc, Kind);
-
- default:
- llvm_unreachable("Modifier not supported");
---
-2.41.0
-
diff --git a/0001-cmake-Add-LLVM_UNITTEST_LINK_FLAGS-option.patch
b/0001-cmake-Add-LLVM_UNITTEST_LINK_FLAGS-option.patch
deleted file mode 100644
index 192ca92..0000000
--- a/0001-cmake-Add-LLVM_UNITTEST_LINK_FLAGS-option.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From cf35b4622d31701d0c79e0441931518726f997f2 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <npopov(a)redhat.com>
-Date: Fri, 30 Jun 2023 12:25:09 +0200
-Subject: [PATCH] Add LLVM_UNITTEST_LINK_FLAGS option
-
-This allows specifying linker flags that should only be applied
-to unit tests, e.g. to disable LTO optimization for them.
----
- llvm/cmake/modules/AddLLVM.cmake | 2 ++
- llvm/cmake/modules/HandleLLVMOptions.cmake | 3 +++
- 2 files changed, 5 insertions(+)
-
-diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
-index 94fc83db9344..7cf75223ce38 100644
---- a/llvm/cmake/modules/AddLLVM.cmake
-+++ b/llvm/cmake/modules/AddLLVM.cmake
-@@ -1592,6 +1592,8 @@ function(add_unittest test_suite test_name)
- endif()
- endif()
-
-+ target_link_options(${test_name} PRIVATE "${LLVM_UNITTEST_LINK_FLAGS}")
-+
- set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
- set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
- # libpthreads overrides some standard library symbols, so main
-diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake
b/llvm/cmake/modules/HandleLLVMOptions.cmake
-index 6119ecdce0f4..eec98162c2d7 100644
---- a/llvm/cmake/modules/HandleLLVMOptions.cmake
-+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
-@@ -1274,3 +1274,6 @@ endif()
-
- set(LLVM_THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../third-party CACHE STRING
- "Directory containing third party software used by LLVM (e.g.
googletest)")
-+
-+set(LLVM_UNITTEST_LINK_FLAGS "" CACHE STRING
-+ "Additional linker flags for unit tests")
---
-2.40.1
-
diff --git a/0001-llvm-Add-install-targets-for-gtest.patch
b/0001-llvm-Add-install-targets-for-gtest.patch
deleted file mode 100644
index e84c444..0000000
--- a/0001-llvm-Add-install-targets-for-gtest.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
-From: Tom Stellard <tstellar(a)redhat.com>
-Date: Thu, 17 Nov 2022 09:01:10 +0000
-Subject: Add install targets for gtest
-
-Stand-alone builds need an installed version of gtest in order to run
-the unittests.
-
-Differential Revision:
https://reviews.llvm.org/D137890
----
- llvm/CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
-index 60e1f29620af..d91338532815 100644
---- a/llvm/CMakeLists.txt
-+++ b/llvm/CMakeLists.txt
-@@ -693,6 +693,11 @@ option(LLVM_BUILD_TESTS
- "Build LLVM unit tests. If OFF, just generate build targets." OFF)
- option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests."
ON)
-
-+option(LLVM_INSTALL_GTEST
-+ "Install the llvm gtest library. This should be on if you want to do
-+ stand-alone builds of the other projects and run their unit tests." OFF)
-+
-+
- option(LLVM_BUILD_BENCHMARKS "Add LLVM benchmark targets to the list of default
- targets. If OFF, benchmarks still could be built using Benchmarks target." OFF)
- option(LLVM_INCLUDE_BENCHMARKS "Generate benchmark targets. If OFF, benchmarks
can't be built." ON)
---
-2.34.3
-
diff --git a/0201-third-party-Add-install-targets-for-gtest.patch
b/0201-third-party-Add-install-targets-for-gtest.patch
deleted file mode 100644
index 5c86130..0000000
--- a/0201-third-party-Add-install-targets-for-gtest.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
-From: Tom Stellard <tstellar(a)redhat.com>
-Date: Thu, 17 Nov 2022 09:01:10 +0000
-Subject: Add install targets for gtest
-
-Stand-alone builds need an installed version of gtest in order to run
-the unittests.
-
-Differential Revision:
https://reviews.llvm.org/D137890
----
- third-party/unittest/CMakeLists.txt | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/third-party/unittest/CMakeLists.txt b/third-party/unittest/CMakeLists.txt
-index 0e54e0e57c35..1d2a52730d7d 100644
---- a/third-party/unittest/CMakeLists.txt
-+++ b/third-party/unittest/CMakeLists.txt
-@@ -65,12 +65,25 @@ if (NOT LLVM_ENABLE_THREADS)
- endif ()
-
- target_include_directories(llvm_gtest
-- PUBLIC googletest/include googlemock/include
-+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googletest/include>
-+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googlemock/include>
-+ $<INSTALL_INTERFACE:include/llvm-gtest/>
-+ $<INSTALL_INTERFACE:include/llvm-gmock/>
- PRIVATE googletest googlemock
- )
-
- add_subdirectory(UnitTestMain)
-
-+if (LLVM_INSTALL_GTEST)
-+export(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport FILE
LLVMGTestConfig.cmake)
-+install(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport EXPORT LLVMGTestConfig
-+ ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT llvm_gtest)
-+ install(EXPORT LLVMGTestConfig DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} COMPONENT
llvm_gtest)
-+ add_llvm_install_targets(install-llvm_gtest COMPONENT llvm_gtest DEPENDS llvm_gtest
LLVMGTestConfig.cmake)
-+ install(DIRECTORY googletest/include/gtest/ DESTINATION include/llvm-gtest/gtest/
COMPONENT llvm_gtest)
-+ install(DIRECTORY googlemock/include/gmock/ DESTINATION include/llvm-gmock/gmock/
COMPONENT llvm_gtest)
-+endif()
-+
- # When LLVM_LINK_LLVM_DYLIB is enabled, libLLVM.so is added to the interface
- # link libraries for gtest and gtest_main. This means that any target, like
- # unittests for example, that links against gtest will be forced to link
---
-2.34.3
-
diff --git a/llvm.spec b/llvm.spec
index c6ed0aa..e07e711 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -1,3 +1,10 @@
+%bcond_with snapshot_build
+
+%if %{with snapshot_build}
+# Unlock LLVM Snapshot LUA functions
+%{llvm_sb}
+%endif
+
# 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
@@ -17,10 +24,18 @@
%bcond_with compat_build
%bcond_without check
-#global rc_ver 4
-%global maj_ver 16
+%global maj_ver 17
%global min_ver 0
-%global patch_ver 6
+%global patch_ver 0
+%global rc_ver 1
+
+%if %{with snapshot_build}
+%undefine rc_ver
+%global maj_ver %{llvm_snapshot_version_major}
+%global min_ver %{llvm_snapshot_version_minor}
+%global patch_ver %{llvm_snapshot_version_patch}
+%endif
+
%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
@@ -74,12 +89,18 @@
%undefine _py3_shebang_P
Name: %{pkg_name}
-Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
-Release: 6%{?dist}
+Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
+Release: 1%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
URL:
http://llvm.org
+%if %{with snapshot_build}
+Source0: %{llvm_snapshot_source_prefix}llvm-%{llvm_snapshot_yyyymmdd}.src.tar.xz
+Source2: %{llvm_snapshot_source_prefix}cmake-%{llvm_snapshot_yyyymmdd}.src.tar.xz
+Source4: %{llvm_snapshot_source_prefix}third-party-%{llvm_snapshot_yyyymmdd}.src.tar.xz
+%{llvm_snapshot_extra_source_tags}
+%else
Source0:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
Source1:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
Source2:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
@@ -88,19 +109,9 @@
Source4:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
Source5:
https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
Source6: release-keys.asc
-# Backported from LLVM 17
-Patch1: 0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
-# See
https://reviews.llvm.org/D137890 for the next two patches
-Patch2: 0001-llvm-Add-install-targets-for-gtest.patch
-# Backport of
https://reviews.llvm.org/D154212 from LLVM 17.
-Patch3: 0001-cmake-Add-LLVM_UNITTEST_LINK_FLAGS-option.patch
-# Backport of
https://reviews.llvm.org/D156379 from LLVM 18.
-Patch4: D156379.diff
-
# RHEL-specific patch to avoid unwanted recommonmark dep
Patch101: 0101-Deactivate-markdown-doc.patch
-# Patching third-party dir with a 200 offset in patch number
-Patch201: 0201-third-party-Add-install-targets-for-gtest.patch
+%endif
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -151,14 +162,15 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# app that requires the libLLVMLineEditor, so we need to make sure
# libedit-devel is available.
Requires: libedit-devel
-# The installed cmake files reference binaries from llvm-test and llvm-static.
-# We tried in the past to split the cmake exports for these binaries out into
-# separate files, so that llvm-devel would not need to Require these packages,
+# The installed cmake files reference binaries from llvm-test, llvm-static, and
+# llvm-gtest. We tried in the past to split the cmake exports for these binaries
+# out into separate files, so that llvm-devel would not need to Require these packages,
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
# patches.
Requires: %{name}-static%{?_isa} = %{version}-%{release}
%if %{without compat_build}
Requires: %{name}-test%{?_isa} = %{version}-%{release}
+Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
%endif
@@ -222,16 +234,17 @@ LLVM's modified googletest sources.
%endif
%prep
+%if %{without snapshot_build}
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}'
--data='%{SOURCE0}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}'
--data='%{SOURCE2}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}'
--data='%{SOURCE4}'
+%endif
%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
%setup -T -q -b 4 -n %{third_party_srcdir}
-%autopatch -m200 -p2
cd ..
mv %{third_party_srcdir} third-party
@@ -245,6 +258,11 @@ mv %{third_party_srcdir} third-party
%build
+# Disable LTO to speed up builds
+%if %{with snapshot_build}
+%global _lto_cflags %nil
+%endif
+
%ifarch s390 s390x %{arm} %ix86
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
@@ -313,8 +331,12 @@ export ASMFLAGS="%{build_cflags}"
-DLLVM_ENABLE_SPHINX:BOOL=ON \
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
\
+%if %{with snapshot_build}
+ -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
+%else
%if %{without compat_build}
-DLLVM_VERSION_SUFFIX='' \
+%endif
%endif
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
@@ -495,7 +517,7 @@ fi
%files libs
%license LICENSE.TXT
-%{install_libdir}/libLLVM-%{maj_ver}.so
+%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
%if %{without compat_build}
%if %{with gold}
%{_libdir}/LLVMgold.so
@@ -575,6 +597,11 @@ fi
%endif
%changelog
+%{?llvm_snapshot_changelog_entry}
+
+* Mon Jul 31 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> -
17.0.0~rc1-1
+- Update to LLVM 17.0.0 RC1
+
* Mon Jul 31 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-6
- Fix rhbz #2224885
diff --git a/sources b/sources
index 30ea4ea..b3a6c97 100644
--- a/sources
+++ b/sources
@@ -1,6 +1,6 @@
-SHA512 (llvm-16.0.6.src.tar.xz) =
8d4cdadc9a1ad249fbf9248c8e56f3bcafab73a473a0b0ca73499ed8825c62e27668aac4f1d03341631e5ad93701621e834e9e196ca32eac3ef805cf1c860083
-SHA512 (llvm-16.0.6.src.tar.xz.sig) =
9adda28085f4a2e2a64dab1d8e4ff23c5629bbb0bb6b34afc081e44f6f85ac4f3c6cd0c3488af98c0fad939c33f9d2a8a0cbef67a577cd7fe3013bc2200452b1
-SHA512 (cmake-16.0.6.src.tar.xz) =
52ecd941d2d85a5b668caa5d0d40480cb6a97b3bf1174e634c2a93e9ef6d03670ca7e96abb0a60cb33ba537b93d5788754dab1f2f45c1f623f788162717d088b
-SHA512 (cmake-16.0.6.src.tar.xz.sig) =
d20c5e51315aa476775e6ce886684b9f882ce283fc40aa6c1b8f03964c77a1e745e2e1fb00b3488dddfe1a04378e2bfd090350de28e58088525a5305ecb1bea6
-SHA512 (third-party-16.0.6.src.tar.xz) =
51683e92953eb57ed36ebc8a43cb688863edf4f24ba71965d57016cfdc17bad10f8f3942e9597a729329f89489597e79bb4653445ff1ec36ec03077adb1dd7b9
-SHA512 (third-party-16.0.6.src.tar.xz.sig) =
aefb22ee35b2299e77669d72557079630fba5df2c0031c72a025082de3c4ca56ea0e1ec870c42d9056752195ad0e5b68258b548caf801ef4269e2ec1cd9da513
+SHA512 (cmake-17.0.0rc1.src.tar.xz) =
765113906032571abddefb4173606c80f88d564fec54e45ff76967783658cf98b2a5c40ab351dec85f91ebc346768ebcf3922afd0e25178a402a36096c8220fa
+SHA512 (cmake-17.0.0rc1.src.tar.xz.sig) =
50c4600e4e686e752d65d60a75133b0058895ee6c9fa62187269f321f9f8feef207412f5e4099eb7da0ae9c90b3f13c81a01c59fd90b2bbca83174b787fd9b84
+SHA512 (llvm-17.0.0rc1.src.tar.xz) =
cb1d10a4ccf00a9b1a9a19a6ff42cf4dad832abbf7ea4e2624018c4372d62cb0b851841be02f9abab308bcaefc1d07f0512956cd752bf91d4ac79b6d1d1d37ba
+SHA512 (llvm-17.0.0rc1.src.tar.xz.sig) =
73e3a361685cb7b097a4191dc55839180db8c27f939cadd1b46fa7fb4762543867cfc170ad9042e49b4160c2a6660f0e06f8311151e45100906b28838a7ba8cc
+SHA512 (third-party-17.0.0rc1.src.tar.xz) =
740923fd1691a2f210d632896f20db6904573ab383396edae22ac238a792a73f031989a71fbfe3f46930c4fbca023133833a7d04dcbba217d9983b239ea49705
+SHA512 (third-party-17.0.0rc1.src.tar.xz.sig) =
d319cdbac76f069ae41400b0320144e7a4289ae843cd63252c18d14e35e1f7f9b23169d6a2f4fbb7fae81fd0dabd32370c61bfa07742cf90a6571da443feb3cf