Make the following changes:
* Fix a number of `%{?isa}` to use `%{?_isa}` instead.
* Change all `= %{version}` requires to `= %{version}-%{release}`.
We were mostly already doing this, but missed some places.
* Add explicit lld-libs -> llvm-libs and lldb -> clang-libs
dependencies.
* Fix libomp-devel -> libomp dependency (it was accidentally
using libomp-devel -> llvm instead).
Related: RHEL-57454
Ensure the versioned llvm-config alternative gets removed during major
upgrades of the non-compat package.
Also add code that removes the versioned llvm-config alternatives of
the previous 3 LLVM versions. These versions didn't remove their own
versioned llvm-config alternative, leading to broken output, e.g.
llvm-config-16 points to llvm-config-64 from LLVM 17.
This location is hard-coded by glibc and is not prefix-variable. This
fixes flatpak app RPM builds of clang15 and packages dependent thereon
(e.g. openshadinglanguage). Flatpaks using these packages will still
need to define LD_LIBRARY_PATH.
This is needed if the compat build is produced for an rc version,
which I'm currently trying to do to fix snapshot builds.
I don't see a reason why this bit should be omitted for snapshot
builds.
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
While the current implementation works on Fedora, on c9s/rhel
the CFLAGS haven't been set at this point yet, so we are missing
the -fcfprotection flag in ASMFLAGS. Using build_cflags avoids
this ordering problem.
Additionally, add -Wl,-z,cet-report=error to the libLLVM.so linker
flags, so we can detect such issues earlier in the future.
We currently spend a lot of time performing LTO on unit tests,
which is largely wasted effort. We can't disable LTO entirely,
because we don't have fat objects, but at least we can disable
post-link optimization.
For my local build, this reduces time in %build by about 30%.
Backport a patch from LLVM 17 that improves error messages from the
Clang assembler on s390x.
Also, disable LLVM_UNREACHABLE_OPTIMIZE in order to improve error
messages when llvm_unreachable() is called. There are many cases where
llvm_unreachable() is used as a error reporting function instead of the
recommended replacement for assert().
Fixes rhbz#2216906.