The Low Level Virtual Machine
Go to file
Tom Stellard 5826a876b0 Sync with Fedora 20.1.8 release
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 db0f754c5a

commit 4ace38733e85982e89a9e1a57feb607196339f41
Author: Tom Stellard <tstellar@redhat.com>
Date:   Mon Apr 21 20:29:48 2025 +0000

    Disable libedit on rhel 8

Resolves: RHEL-81021
2025-07-10 11:34:14 -07:00
.copr Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
.fmf 13.0.0 Release 2021-10-08 14:19:07 +02:00
tests Maintentance update to testplans. 2025-03-03 13:36:55 +01:00
.gitignore LLVM 20.1.0 Release 2025-03-20 13:35:42 -07:00
.pre-commit-config.yaml Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
20-131099.patch Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
0001-19-Always-build-shared-libs-for-LLD.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
0001-20-polly-shared-libs.patch LLVM 20.1.0 Release 2025-03-20 13:35:42 -07:00
0001-cmake-Resolve-symlink-when-finding-install-prefix.patch LLVM 20.1.0 Release 2025-03-20 13:35:42 -07:00
0001-Driver-Give-devtoolset-path-precedence-over-Installe.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
0001-Fix-page-size-constant-on-aarch64-and-ppc64le.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
0001-SystemZ-Fix-ICE-with-i128-i64-uaddo-carry-chain.patch LLVM 20.1.0 Release 2025-03-20 13:35:42 -07:00
0001-Workaround-a-bug-in-ORC-on-ppc64le.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
0003-PATCH-clang-Don-t-install-static-libraries.patch Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
gating.yaml Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
llvm.rpmlintrc Udate to LLVM 19.1.7 2025-01-23 17:00:19 +01:00
llvm.spec Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
macros.clang Big-merge update to LLVM 19 2024-11-13 10:45:57 +01:00
Makefile Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
release-keys.asc Update to LLVM 15.0.0 2022-09-20 15:21:48 +02:00
rpminspect.yaml Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00
sources Sync with Fedora 20.1.8 release 2025-07-10 11:34:14 -07:00