The Low Level Virtual Machine
This includes the following commits from Fedora Rawhide:
commit e8450de3763841effd232d029796b13893d01008 (fedora/rawhide, fedora/main, fedora/HEAD)
Author: Jesus Checa Hidalgo <jchecahi@redhat.com>
Date: Tue Jun 3 13:52:36 2025 +0200
rpminspect: disable abidiff inspection
We need to disable abidiff due to huge memory consumption, leading to
OOM kill of the whole rpminspect run.
Check https://docs.testing-farm.io/Testing%20Farm/0.1/errors.html#TFE-1
commit 4122c8e2cf7048dbb36d3fef2706035c5983af99
Author: Nikita Popov <npopov@redhat.com>
Date: Wed Jul 9 16:52:44 2025 +0200
Add sources
commit a55f6275c7175c2ffab6617505255437f54647f1
Author: Nikita Popov <npopov@redhat.com>
Date: Wed Jul 9 16:35:08 2025 +0200
Update to LLVM 20.1.8
commit 2d2a67ae36ee014eb11505b2703f363a2034dd4c
Author: Kashyap Chamarthy <kchamart@redhat.com>
Date: Sat Mar 15 12:24:09 2025 +0800
More riscv64-related enablement
Notes:
- Cherry-pick from here (from Songsong Zhang) and resolve conflicts
throughout the spec:
https://gitlab.com/fedoravforce/llvm/-/commit/2485502 ("Add riscv64
support", 2025-03-15)
- Add Songsong's and David Abdurachmanov's Signed-off-by.
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
Signed-off-by: Songsong Zhang <U2FsdGVkX1@gmail.com>
commit b6af79edd7a6ad680074346d7bad9cb897cb67aa
Author: Tom Stellard <tstellar@redhat.com>
Date: Tue Jun 17 17:52:14 2025 +0000
Disable PGO on RHEL
We don't want to enable this on RHEL until LLVM 21.
commit 04d85f9ad423149d065e53ebb9f8a335ebf5d5c5
Author: Nikita Popov <npopov@redhat.com>
Date: Thu Jun 19 14:55:36 2025 +0200
Update to LLVM 20.1.7
commit 074e1117c9683ecc6d23febfab9aac1b43d4dcf0
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Wed Jun 18 14:23:56 2025 -0300
Revert "Update to 20.1.7 upstream release"
This reverts commit fe638c1523ac3356fbe3cd200e23a787348dfd01.
commit fe638c1523ac3356fbe3cd200e23a787348dfd01
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Wed Jun 18 14:18:59 2025 -0300
Update to 20.1.7 upstream release
- Resolves: rhbz#2356810
Upstream tag: llvmorg-20.1.7
Upstream commit: 6146a88f
Commit authored by Packit automation (https://packit.dev/)
commit bc6106065d8e2a021945eebdd8f9f1bb549bff84
Author: Nikita Popov <npopov@redhat.com>
Date: Thu Apr 24 15:47:01 2025 +0200
Fix alternatives handling
This implements multiple fixes to the handling of llvm-config
alternatives:
* Increase alternative priority for new versions. Otherwise we'll
give all versions the same priority. The new one will be something
like 2064 for the 64-bit LLVM 20 llvm-config binary.
* Remove old llvm-config-64/llvm-config-32 alternative. This is
only needed once, so suppress the error.
* Do not remove no longer used llvm-config-64/32 in postun scriptlet.
Instead remove the llvm-config in install_bindir. However, now
that the path will be the same for compat and non-compat LLVM,
only do this on uninstall, not on upgrade.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2361779
commit 97e4be2d5af4bc11d84156d654fcc90bc8282e95
Author: Nikita Popov <npopov@redhat.com>
Date: Mon Jun 16 10:15:05 2025 +0000
Use libdir suffix in versioned prefix as well
Use the lib/lib64 distinction for the versioned prefix, to avoid
a mismatch with the default prefix. This means that the versioned
prefix now has libraries in /usr/lib64/llvmN/lib64.
This should fix the issue https://src.fedoraproject.org/rpms/llvm/pull-request/446
ran into. This would also be needed if we wanted to switch to
installing into libexec.
commit 6aa8bd5628713c0b1750013be521a43a083a44dc
Author: Timm Bäder <tbaeder@redhat.com>
Date: Mon Jun 16 09:58:52 2025 +0200
Add task-taskwait-nested test to LIT_XFAIL on ppc
This test fails on ppc, so add it to the XFAIL list like the other
similar tests. It would be better to fix the root cause, but in the
meantime, add it to XFAIL to unblock the snapshot builds.
commit 595c2a20d256bf8e3b2ac8687c0029b42e64878d
Author: Nikita Popov <npopov@redhat.com>
Date: Fri Jun 6 13:32:06 2025 +0000
Invert symlink direction
This is an alternative to:
https://src.fedoraproject.org/rpms/llvm/pull-request/439.
Instead of undoing the prefix change completely, this instead inverts
the direction of the symlinks: The non-compat package ships all the
files in the default prefix, but has symlinks from the versioned
prefix to the default prefix.
The implementation approach is to install everything into the
versioned prefix first (keeping things unified between compat and
non-compat build initially) and to then move and symlink in
post-processing.
The llvm-config setup here stays the same as it currently is,
with llvm-config executables being installed in the versioned
prefix, while the one in the default prefix is managed by
alternatives. This patch does not fix the issues with alternatives
handling, we'd apply https://src.fedoraproject.org/rpms/llvm/pull-request/417
on top of this patch for that.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2365079.
commit 1301bd98a994fc804500a6a67a228b08ad3c18a1
Author: Nikita Popov <npopov@redhat.com>
Date: Fri Jun 13 09:40:04 2025 +0200
Add llvm-test-mustache-spec to file list
New utility added in https://github.com/llvm/llvm-project/pull/142813.
As this is only intended for testing purposes, I've added this to
llvm-test rather than the main llvm package.
commit e88791282d6fe227f06b81754bde4d22389a4a0d
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Fri Jun 6 14:19:00 2025 -0300
Restrict performance comparison to Fedora
Avoid running the performance comparison on RHEL in order to avoid the
issues when building pip packages on ppc64le and s390x.
It was suggested to keep the unused code around for future work.
commit 218571e7577abac26fe1d72c75b7982314bbca40
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Mon Jun 9 10:54:51 2025 -0300
Add a BuildRequires on llvm when building with pgo
PGO builds require llvm-profdata which is provided by the llvm package.
Previously, the build used to pass because llvm-test-suite requires
llvm. As we restrict the execution of the perf comparison on snapshot
builds, llvm-test-suite won't be installed anymore.
commit 125ec5201ef19c606d16fb527235bc4add26e8a7
Author: Konrad Kleine <kkleine@redhat.com>
Date: Fri Jun 6 21:10:20 2025 +0200
131099 landend upstream. Remove for LLVM 21
commit 7363eb378e2fa1737126898ccc92b221ab2aadcc
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Fri Jun 6 15:34:05 2025 -0300
Fixes the weekday in the last changelog entry.
Fixes: 69452b5 (Rebuilt for Python 3.14, 2025-06-04)
commit 69452b53301689070c0f4104eb0a724a52b39032
Author: Python Maint <python-maint@redhat.com>
Date: Wed Jun 4 20:13:30 2025 +0200
Rebuilt for Python 3.14
commit ecc118b5881f6c02e56970e26f60b0d68b4f195a
Author: Konrad Kleine <kkleine@redhat.com>
Date: Thu Jun 5 16:27:29 2025 +0200
Filter out some tests that didn't pass after 4 runs
The following tests did fail on i386 and s390x even after 4 runs so we
filter them out entirely on all archs.
```
libomp :: affinity/kmp-abs-hw-subset.c
libomp :: ompt/teams/distribute_dispatch.c
libomp :: worksharing/for/omp_collapse_many_GELTGT_int.c
libomp :: worksharing/for/omp_collapse_many_GTGEGT_int.c
libomp :: worksharing/for/omp_collapse_many_LTLEGE_int.c
libomp :: worksharing/for/omp_collapse_one_int.c
```
See https://github.com/fedora-llvm-team/llvm-snapshots/issues/1484#issuecomment-2938924999
commit 382a7b1ed75852a4095b5c9eaa6a24e839976fc0
Author: Python Maint <python-maint@redhat.com>
Date: Wed Jun 4 20:13:30 2025 +0200
Rebuilt for Python 3.14
commit 169ddb98dd7be9a7e5e5740709cf8a8c9859f364
Author: Python Maint <python-maint@redhat.com>
Date: Wed Jun 4 13:33:11 2025 +0200
Bootstrap for Python 3.14
commit a1789ade5bb17250a5d5d13af77e279e9842afef
Author: Python Maint <python-maint@redhat.com>
Date: Wed Jun 4 12:35:59 2025 +0200
Rebuilt for Python 3.14
commit 823b4c7cabf8dd8f3d9343f2bcb6768e729b769e
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Tue Jun 3 14:22:09 2025 -0300
Revert "Fix build on ppc64le with newer glibc >= 2.42"
This is not necessary anymore.
commit 2a66bbb2a287cdd9d6fa3ed48309aeaa28ddcf96
Author: Python Maint <python-maint@redhat.com>
Date: Tue Jun 3 23:35:20 2025 +0200
Rebuilt for Python 3.14
commit c146b5347273db26aa97a3613497d92846922a26
Author: Konrad Kleine <kkleine@redhat.com>
Date: Fri May 30 10:12:00 2025 +0200
Allow openmp tests to re-run two times
Once https://github.com/llvm/llvm-project/pull/141851 is merged, we can
use the new lit-option `--max-retries-per-test=<POSTIVE_INT>` in order to
re-run openmp tests.
This change makes use of this option and configures it, so that openmp
tests are re-run 4 times if needed. To prove that this works, we no
longer filter out the flaky tests.
Once https://github.com/llvm/llvm-project/pull/142413 lands we can add
`--show-attempts-count` to show how many attempts were actually needed.
See also:
* https://issues.redhat.com/browse/LLVM-145
* https://github.com/llvm/llvm-project/issues/127796
* https://github.com/llvm/llvm-project/issues/117773
commit faa5ec673f97fde4681eb3cad5d8dcb773ba5ff2
Author: Nikita Popov <npopov@redhat.com>
Date: Fri May 30 10:37:17 2025 +0200
Remove build conditions print
The additional output can break tooling, at least rpmdev-bumpspec
no longer works.
commit c27c4368842ba45e03e40bd762235a1ff9dc39cb
Author: Nikita Popov <npopov@redhat.com>
Date: Fri May 30 10:35:50 2025 +0200
Update to LLVM 20.1.6
commit f422c621c686267d51338e032ee9d135ec76a083
Author: Konrad Kleine <kkleine@redhat.com>
Date: Fri May 23 10:16:34 2025 +0200
[make] Add mock-install-debugging-tools target
commit a7997da77298f4e81519f6db7817b9ed102cc981
Author: Konrad Kleine <kkleine@redhat.com>
Date: Mon Oct 7 20:05:33 2024 +0000
Bring in PGO (Profile Guided Optimization)
This enable PGO (Profile Guided Optimization) on Fedora >=41 and RHEL >= 9 for
non x86 machines.
This is a four step process:
1. We use the system clang compiler to build an instrumented version of LLVM.
The first build of LLVM is rather small because it only features the native
subset of targets to build (`LLVM_TARGETS_TO_BUILD=Native`) and no tests or
whatsoever is built.
2. We run a special `cmake` target (`generate-profdata`) that collects profile
data information. Eventually this information is also packaged as
`llvm-pgo.profdata`.
3. We feed the profile information into another final build of LLVM that gets
packaged later.
4. If we are on a platform that provides the `llvm-test-suite` package we run a
performance comparison of the system compiler against the PGOed compiler.
This is meant as a sanity check. We package the output of that comparison (if
available) as `results-system-vs-pgo.txt`. The criteria to run this
performance comparison is influenced by the `run_pgo_perf_comparison` global.
For snapshot builds we even run the comparison for RHEL platforms where
usually the `llvm-test-suite` is not available. There we provide it through
this COPR project:
[@fedora-llvm-team/llvm-test-suite](https://copr.fedorainfracloud.org/coprs/g/fedora-llvm-team/llvm-test-suite/).
We pass `--build-id=sha1` to lld when building final stage with PGO LLD uses
"fast" as the algortithm for generating build-id values while ld.bfd uses "sha1"
by default. We need to get lld to use the same algorithm or otherwise we end up
with errors like thise one:
```
build-id found in [...]/usr/lib64/llvm21/bin/llvm-debuginfod-find too small
```
NOTE: We decided to not do a bootstrap build of clang.
NOTE: To disable PGO change `%bcond_without pgo` to `%bcond_with pgo` in the one
line where it is conditionally defined. All the relevant changes are
build-condition fenced with `%if %{with pgo}`.
commit f924fc03691b1f53f4df833b03567583dcc61532
Author: Nikita Popov <npopov@redhat.com>
Date: Mon May 26 11:31:32 2025 +0200
Backport patch for i686 test failure
Backport of https://github.com/llvm/llvm-project/pull/141083,
which fixes the test failure observed on i686 rawhide when building
LLVM 20.1.5.
commit d69a61641fd5b2d767dacaacbf269881daefb0df
Author: Nikita Popov <npopov@redhat.com>
Date: Thu May 22 15:05:06 2025 +0200
Fix pfalse-v4i1.ll test failure
commit 1856c827f30a56720dcc96b3680d7b16bb883d60
Author: Nikita Popov <npopov@redhat.com>
Date: Thu May 22 12:22:26 2025 +0200
Update to LLVM 20.1.5
commit 826a9779f009d39a704eb808905415f5d8bb8d3b
Author: Nikita Popov <npopov@redhat.com>
Date: Thu May 22 12:15:30 2025 +0200
Revert "Remove alternatives support for llvm-config"
This reverts commit 6de26fdc8f1d9eeafb1685f5df276683e267a003.
commit 173b986e236d4700a23e0d962b4bfbe1d4992e28
Author: Nikita Popov <npopov@redhat.com>
Date: Thu May 22 12:14:22 2025 +0200
Revert "Do not create symlinks on i686"
This reverts commit b54ab1714baa8a559fb9d23a529325930d95a3ef.
commit 0d8798c20f945d3b65ad73c6d4e04bad43845d0e
Author: Konrad Kleine <kkleine@redhat.com>
Date: Mon May 19 09:26:53 2025 +0200
Fix tests/README.md
commit 98fb350da703c802754066447551cae45fe1de8a
Author: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Tue May 6 13:14:26 2025 -0300
Disable offload on ppc64le on RHEL <= 9
1. Add a conditional in order to control the build of offload libraries.
2. Use this conditional when building for %{ix86}.
3. Disable the build of offload for ppc64le on RHEL <= 9 due to the lack
of support for the IBM long double format. As offload starts to
depend more on libc on LLVM 21, it started to depend on long double
code that never supported the IBM long double format.
commit 7e3bdab681572b7451c3491ce1630b4f24d9d88e
Author: Tom Stellard <tstellar@redhat.com>
Date: Tue Apr 29 21:42:41 2025 +0000
Fix build on ppc64le with newer glibc >= 2.42
commit 76a6138716bf9e28baae1facc457a040c215e917
Author: Nikita Popov <npopov@redhat.com>
Date: Tue May 6 10:53:47 2025 +0000
Build bundled compat libraries with LLVM_LINK_LLVM_DYLIB
commit 6da48c6c216a0c23df17e9c8e86168234497dd5d
Author: Nikita Popov <npopov@redhat.com>
Date: Tue May 6 12:02:54 2025 +0200
Update to LLVM 20.1.4
commit b54ab1714baa8a559fb9d23a529325930d95a3ef
Author: Nikita Popov <npopov@redhat.com>
Date: Mon May 5 13:16:35 2025 +0000
Do not create symlinks on i686
Currently, it's not possible to install llvm-devel.i686 and
llvm-devel.x86_64 at the same time, breaking multilib support.
The reason is that binary symlinks between the two packages
conflict, and unlikely for file conflicts, dnf treats these as
an error.
Fix this by not shipping any symlinks in the default prefix on
i686. This means that i686 packages only ship the contents of
/usr/lib/llvmN. This allows conflict-free co-installation with
the x86_64 packages.
I have opted to drop *all* of the symlinks in the default prefix
on i686, but this is not strictly necessary. E.g. keeping lib
symlinks should be fine. But I think it's cleaner to just say
that i686 has everything in the llvm prefix only, rather than
trying to be more precise.
commit 6de26fdc8f1d9eeafb1685f5df276683e267a003
Author: Nikita Popov <npopov@redhat.com>
Date: Fri Apr 25 07:58:17 2025 +0000
Remove alternatives support for llvm-config
llvm-config and llvm-config-N are now plain symlinks to the
llvm-config in the llvm prefix, just like all other binaries.
In order to remove the old alternaties setup, I'm running
alternatives --remove-all in a pre scriptlet. This should remove
the old alternatives before the new symlink directly owned by
the package is added.
This also fixes https://bugzilla.redhat.com/show_bug.cgi?id=2361779.
commit 4dcd1b2b522424374853b1abf083ff222b8c39af
Author: Konrad Kleine <kkleine@redhat.com>
Date: Fri May 2 18:12:15 2025 +0200
Move -DLLVM_ENABLE_FFI=ON to cmake_common_args
to be picked up by compat builds as well.
commit bfe6f05cfb4a137b38ad1f2108b30359dfcf35cb
Author: Nikita Popov <npopov@redhat.com>
Date: Wed Apr 30 09:04:13 2025 +0200
Fix patch application
The patch has been merged for LLVM 21, only apply to LLVM 20.
commit 992fe1c72b0022a530a9e23191dcfa5bd6088edc
Author: Tom Stellard <tstellar@redhat.com>
Date: Thu Apr 17 22:23:04 2025 +0000
crtbegin and crtend objects were added for s390x
commit 900fd17135ded05c243e67821afb8f84432abb48
Author: Tom Stellard <tstellar@redhat.com>
Date: Sat Apr 26 00:08:40 2025 +0000
Fix build with glibc >= 2.42
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/5E553SEIQLUFO66BEDBRSJLT3RKNYZXI/
commit c2137635d63da341b280fbc388c9b6e53a63fe64
Author: Tom Stellard <tstellar@redhat.com>
Date: Thu Apr 24 17:58:24 2025 +0000
Handle new libompdevice.a libraries
See
|
||
---|---|---|
.copr | ||
.fmf | ||
tests | ||
.gitignore | ||
.pre-commit-config.yaml | ||
20-131099.patch | ||
0001-19-Always-build-shared-libs-for-LLD.patch | ||
0001-20-polly-shared-libs.patch | ||
0001-cmake-Resolve-symlink-when-finding-install-prefix.patch | ||
0001-Driver-Give-devtoolset-path-precedence-over-Installe.patch | ||
0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch | ||
0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch | ||
0001-SystemZ-Fix-ICE-with-i128-i64-uaddo-carry-chain.patch | ||
0001-Workaround-a-bug-in-ORC-on-ppc64le.patch | ||
0003-PATCH-clang-Don-t-install-static-libraries.patch | ||
gating.yaml | ||
llvm.rpmlintrc | ||
llvm.spec | ||
macros.clang | ||
Makefile | ||
release-keys.asc | ||
rpminspect.yaml | ||
sources |