Commit graph

768 commits

Author SHA1 Message Date
Konrad Kleine
abce59b8a2 Use lit from in-source 2024-05-08 08:34:18 +00:00
Konrad Kleine
dab3420c0b Remove LLD's HTML documentation files 2024-05-08 08:34:18 +00:00
Nikita Popov
e2b1846619 Explicitly disable LLVM_APPEND_VC_REV
This already happens implicitly because we don't build from a git
checkout. However, currently this also breaks the build due to
https://github.com/llvm/llvm-project/pull/88164. Avoid this by
explicitly disabling the option.
2024-05-08 12:45:11 +09:00
Konrad Kleine
e38f6773f7 Fix path 2024-05-06 14:41:14 +00:00
Konrad Kleine
46b9426cde Remove LLVM_CMAKE_DIR and LLVM_MAIN_SRC_DIR cmake config options 2024-05-06 13:01:05 +00:00
Konrad Kleine
62d32c91f4 enable lld project 2024-05-06 13:00:42 +00:00
Konrad Kleine
86afbcc16c Adjust download URL for tarballs to new project location 2024-05-06 10:48:11 +00:00
Konrad Kleine
ec20e04c07 Fix lld scriptlet naming 2024-05-06 09:05:40 +00:00
Konrad Kleine
e44d92df5c More explicit %postun and %post scriptlets 2024-05-06 09:00:19 +00:00
Konrad Kleine
51efd8123c Apply lld patch 2024-05-06 08:59:45 +00:00
Konrad Kleine
6456b314bc Integrate lld.spec into spec files 2024-05-06 08:20:29 +00:00
Konrad Kleine
f68a60f27c Add lld.spec and patch file 2024-05-06 08:20:29 +00:00
Konrad Kleine
a1a419edde Remove patch only needed for standalone builds
This patch was only needed for standalone builds which we no longer do:

0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
2024-05-06 08:20:29 +00:00
Tom Stellard
8ab87a7600 Fix missing directory on ppc64le 2024-05-02 14:55:23 +00:00
Tom Stellard
022f97dd02 Fix libomptarget.rtl name after 72b0c11cfd267b754076dfc2908ba921c4f69ee3 2024-05-02 14:55:23 +00:00
Tom Stellard
423476486c Fix libomptarget.rtl name after 72b0c11cfd267b754076dfc2908ba921c4f69ee3 2024-05-02 14:55:23 +00:00
Tom Stellard
7291cbf26f Revert "Fix file path on all arches"
This reverts commit 0d6602437c40f2a0d2714fbaeebf3d851017c627.
2024-05-02 14:55:23 +00:00
Tom Stellard
8c35ea0d5d Fix offload install dir 2024-05-02 14:55:23 +00:00
Tom Stellard
97b3272987 Disable openmp tests 2024-05-02 14:55:23 +00:00
Tom Stellard
f96bd0c7d5 Run test on aarch64 that passes now 2024-05-02 14:55:23 +00:00
Tom Stellard
263f283b7e Add new offload runtime 2024-05-02 14:55:23 +00:00
Tom Stellard
1ae38f2137 Fix file path on all arches 2024-05-02 14:55:23 +00:00
Tom Stellard
3216eaaecc Update libomp xfails on ppc64le 2024-05-02 14:55:23 +00:00
Tom Stellard
f8214e726e Fix missing file on i686 2024-05-02 14:55:23 +00:00
Tom Stellard
4ca30f70c4 Update libomp xfails on s390x 2024-05-02 14:55:23 +00:00
Tom Stellard
ba0c05a726 Rebase 0001-Restore-fopenmp-implicit-rpath-disabled-by-default.patch
And only apply it on f38, it's not needed on newer Fedoras.
2024-05-02 14:55:23 +00:00
Tom Stellard
806115c5ca Install clang config file on f38 2024-05-02 14:55:23 +00:00
Tom Stellard
96bd8631ed Fix OpenMP patch 2024-05-02 14:55:23 +00:00
Tom Stellard
8fe06109bd Sync with clang upstream-snapshot branch 2024-05-02 14:55:23 +00:00
Tom Stellard
8fea7e788b Sync with openmp upstream-snapshot branch 2024-05-02 14:55:23 +00:00
Tom Stellard
3ac2fe8c45 Sync with llvm upstream-snapshot branch 2024-05-02 14:55:23 +00:00
Tom Stellard
3b035c500e Drop myst_parser patches
These were obsoleted by 7d55a3ba92368be55b392c20d623fde6ac82d86d.
2024-05-02 14:55:23 +00:00
Konrad Kleine
d059627196 Remove DWARF4 patch 2024-05-02 14:55:23 +00:00
Nikita Popov
af9b9d6da4 Restore DWARF 4 config file for Fedora 38
This is a port of 74b8bb0397
2024-05-02 14:55:17 +00:00
Nikita Popov
d168c1664f Only use cet-report=error on x86_64
i386 CET support has been removed from glibc. Only check it for
x86_64.

This is a cherry-pick of fefb87d583
2024-05-02 14:54:30 +00:00
Konrad Kleine
eb12c13273 merge llvm, clang, compiler-rt and libomp repos
* %check: export LD_LIBRARY_PATH because runtimes use external cmake projects that wouldn't find libclang++.so
* %check: use LLVM's LIT_XFAIL to mark tests that are expected to fail and don't just delete them
* clang: bring over *.patch files
* clang: remove build requires tags from clang package that are already defined by main llvm package
* clang: remove duplicates found in llvm globals and use %{pkg_datadir} instead of %{install_datadir}
* clang: rename and use pkg_name -> pkg_name_clang
* clang: use %{pkg_name_clang} instead of %{name}
* compiler-rt and libomp: wrap in %if %{without compat_build}
* libomp: also build libomp for s390x (See https://github.com/llvm/llvm-project/pull/66081)
* libomp: exclude libomp-devel on s390x just like libomp itself
* libomp: introduce pkg_name_libomp and cleanup the globals
* libomp: remove gdb-plugin (NEED TO CONFIRM IF THIS IS REALLY TRUE)
* libomp: filter out flaky libomp test: ompt/teams/distribute_dispatch.c
* llvm: add BuildRequires: graphviz to llvm-doc
* llvm: use %{pkg_name_llvm} instead of %{name}
* make: added temporary Makefile so I can more easily run srpm or rpm builds locally
* make: Added local-tmt-vm target (not really useful yet)
* rpm: for non-RHEL add prefix like "Jan 05 16:17:06" to every log line This should help in finding out how long things take to build/install/...
* rpm: fully specify %files for top-level packages
* rpm: make all packages fully qualified
* rpm: obsolete llvm-snapshot-builder
* rpm: remove BuildRequires: python3-lit because we have it in-tree
* rpm: remove BuildRequires: tags for clang and llvm specifics as we're building in-tree
* rpm: rename %llvm_srcdir -> %srcdir_llvm
* rpm: rename %pkg_name -> %pkg_name_llvm
* rpm: use full qualified name in %description
* rpm: use region comments in spec file to group by package. This allows editors to fold text to get a better overview
* rpmlint: update rc file to reflect clang and compiler-rt (libomp has no rpmlint rc file)
* use python-lit from within tree
2024-05-02 14:53:58 +00:00
Nikita Popov
19db1ff8da Switch from recommonmark to myst-parser 2023-09-26 08:58:16 +02:00
Tulio Magno Quites Machado Filho
db0e8c2bbf 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.

(cherry picked from commit bf19c70bc0)
2023-08-24 14:07:09 +02:00
Nikita Popov
2508552b6b Don't set LLVM_UNITTEST_LINK_FLAGS for snapshot builds
Snapshot builds don't use LTO, so we should not set these linker
flags either.
2023-08-14 08:40:52 +02:00
Nikita Popov
9c4442b779 Merge branch 'rawhide' into upstream-snapshot 2023-08-11 15:15:18 +02:00
Tulio Magno Quites Machado Filho
2ec945401e Enable LLVM_UNREACHABLE_OPTIMIZE temporarily
This has been causing issues when building clang.  Enable it temporarily
until the root cause is found and fixed.
2023-08-09 11:54:46 -03:00
Tulio Magno Quites Machado Filho
d5b39fd081 Update to LLVM 17.0.0 RC1
This is also a squashed merge commit from upstream-snapshot (commit ID
340b9e8ea3) 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
2023-08-09 11:54:07 -03:00
Nikita Popov
5e22fb4ab6 Don't drop LDFLAGS for shared libraries
From the corresponding c9s fix:
b758d604f4
2023-08-08 16:51:16 +02:00
Tulio Magno Quites Machado Filho
d180d56a78 Remove pkg_bindir and pkg_libdir
Replace them witn install_bindir and install_libdir respectively.
2023-08-03 19:30:40 +00:00
Tulio Magno Quites Machado Filho
b5d6c1ccf0 Simplify a few %files entries
This is also deduplicating a small list of %files entries by replacing
the variable used to build their path.
2023-08-03 19:30:40 +00:00
Nikita Popov
2abc096557 Use build_cflags when setting ASMFLAGS
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.
2023-08-03 19:29:38 +00:00
Tulio Magno Quites Machado Filho
dd44fc12ea Fix rhbz #2224885 2023-07-31 17:19:01 -03:00
Fedora Release Engineering
f9f0fb07de Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 12:55:16 +00:00
Tulio Magno Quites Machado Filho
f9133b98bb Bump the release version 2023-07-10 18:38:50 -03:00
Nikita Popov
bdb4929ebd Use LLVM_UNITTEST_LINK_FLAGS to reduce link times for unit tests
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%.
2023-07-07 07:20:18 +00:00