From 6a82f7c816743a843cf013da203ab647c5fe2b98 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Mon, 3 Jun 2024 11:09:26 +0200 Subject: [PATCH] Update to 18.1.6 Related: RHEL-28670 --- ...-compact_unwind_encoding.h-from-libu.patch | 11 ++-- lld.spec | 52 +++++++++++-------- sources | 4 +- tests/README.md | 6 +++ 4 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 tests/README.md diff --git a/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch index 7d8beda..8d31209 100644 --- a/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch +++ b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch @@ -1,18 +1,17 @@ -From 43dfe54ce017c8d37eaec480a2f13a492bbc4203 Mon Sep 17 00:00:00 2001 +From 9df81767571465ef1f2e7370299e21c64fe34f40 Mon Sep 17 00:00:00 2001 From: serge-sans-paille Date: Thu, 25 Feb 2021 14:24:14 +0100 -Subject: [PATCH 2/2] [PATCH][lld] Import compact_unwind_encoding.h from - libunwind +Subject: [PATCH][lld] Import compact_unwind_encoding.h from libunwind This avoids an implicit cross package dependency --- - lld/include/mach-o/compact_unwind_encoding.h | 477 +++++++++++++++++++++++++++ + lld/include/mach-o/compact_unwind_encoding.h | 477 +++++++++++++++++++ 1 file changed, 477 insertions(+) create mode 100644 lld/include/mach-o/compact_unwind_encoding.h diff --git a/lld/include/mach-o/compact_unwind_encoding.h b/lld/include/mach-o/compact_unwind_encoding.h new file mode 100644 -index 0000000..5301b10 +index 000000000000..5301b1055ef9 --- /dev/null +++ b/lld/include/mach-o/compact_unwind_encoding.h @@ -0,0 +1,477 @@ @@ -494,5 +493,5 @@ index 0000000..5301b10 +#endif + -- -1.8.3.1 +2.30.2 diff --git a/lld.spec b/lld.spec index dc660d6..24445f8 100644 --- a/lld.spec +++ b/lld.spec @@ -15,8 +15,8 @@ %bcond_without check %bcond_with compat_build -%global maj_ver 17 -%global min_ver 0 +%global maj_ver 18 +%global min_ver 1 %global patch_ver 6 #global rc_ver 4 @@ -37,12 +37,14 @@ %global install_includedir %{install_prefix}/include %global install_libdir %{install_prefix}/lib %global install_datadir %{install_prefix}/share +%global install_bindir %{install_prefix}/bin %else %global pkg_name lld %global install_prefix /usr %global install_includedir %{_includedir} %global install_libdir %{_libdir} %global install_datadir %{_datadir} +%global install_bindir %{_bindir} %endif Name: %{pkg_name} @@ -61,8 +63,6 @@ Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve Source2: release-keys.asc %endif -ExcludeArch: s390x - # Bundle libunwind header need during build for MachO support Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch @@ -93,8 +93,6 @@ Requires(preun): %{_sbindir}/update-alternatives Requires: %{name}-libs = %{version}-%{release} -Obsoletes: lld-test < 15.0.7 - %description The LLVM project linker. @@ -106,6 +104,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} # dependency. Requires: %{name}%{?_isa} = %{version}-%{release} %endif +Provides: %{name}-devel(major) = %{maj_ver} %description devel This package contains library and header files needed to develop new native @@ -144,17 +143,16 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DPYTHON_EXECUTABLE=%{__python3} \ -%if %{with compat_build} - -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ - -DLLVM_INCLUDE_TESTS=OFF \ -%else +%if %{with snapshot_build} + -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ +%endif -DLLVM_INCLUDE_TESTS=ON \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DLLVM_LIT_ARGS="-sv \ --path %{_libdir}/llvm" \ -%if %{with snapshot_build} - -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ -%endif +%if %{with compat_build} + -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ +%else %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else @@ -173,13 +171,21 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt # This is generated by Patch1 during build and (probably) must be removed afterward rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h -%if %{without compat_build} +%if %{with compat_build} +# Add version suffix to binaries +mkdir -p %{buildroot}%{_bindir} +for f in %{buildroot}/%{install_bindir}/*; do + filename=`basename $f` + ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename-%{maj_ver} +done +%else # Required when using update-alternatives: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ touch %{buildroot}%{_bindir}/ld install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 + %post %{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 @@ -191,23 +197,26 @@ fi %check -%if %{without compat_build} %if %{with check} +export LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %cmake_build --target check-lld %endif +%if %{without compat_build} %ldconfig_scriptlets libs %endif -%if %{without compat_build} %files %license LICENSE.TXT %ghost %{_bindir}/ld -%{_bindir}/lld* -%{_bindir}/ld.lld -%{_bindir}/ld64.lld -%{_bindir}/wasm-ld +%{install_bindir}/lld* +%{install_bindir}/ld.lld +%{install_bindir}/ld64.lld +%{install_bindir}/wasm-ld +%if %{without compat_build} %{_mandir}/man1/ld.lld.1* +%else +%{_bindir}/*-%{maj_ver} %endif %files devel @@ -219,7 +228,8 @@ fi %{install_libdir}/liblld*.so.* %changelog -%{?llvm_snapshot_changelog_entry} +* Mon Jun 03 2024 Konrad Kleine - 18.1.6-1 +- Update to 18.1.6 * Mon Dec 11 2023 Timm Bäder - 17.0.6-1 - Update to 17.0.6 diff --git a/sources b/sources index eca2135..2289cb7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (lld-17.0.6.src.tar.xz.sig) = e0b39e9ea4a1b27679c2c657dd31cda2f7536ee552d353010900f7c68ba5de598114a70a6edb3641c501cd5bc78327f5152748a3a8c8fea5eb4c900e1717bde2 -SHA512 (lld-17.0.6.src.tar.xz) = 55955fc24b3fb87012486618cf227a1640ad9a6d607c898d890337aa8c28f3e6a9ed48a52bd0ed57f365f0dc5081a6b3a037cb65da9a9f2cbc53a1527cb8db60 +SHA512 (lld-18.1.6.src.tar.xz) = a53da0c796390950f656c71b0c194c741e0112d1661ceb959caec82fbee31e06aaf666e0135a7dd6441c935c5237dd50961450a15c5d9810cab526dd9082610b +SHA512 (lld-18.1.6.src.tar.xz.sig) = a1a3fd616dc13773cb2354235e45b9c8246d4e441081811007be3c565274fb1488beba5e7362625d80b318217bf6464bd3d06f5c0d24f7747482b8addf7f6d8f diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..b1bedaa --- /dev/null +++ b/tests/README.md @@ -0,0 +1,6 @@ +# Gating testplans for lld + +The tests for lld are in a separate repo: https://src.fedoraproject.org/tests/lld +This directory should contain only fmf plans (such as build-gating.fmf) which import +the tests from the tests repo. This can be done using the "url" parameter of the +plan's "discover" step. Reference: https://tmt.readthedocs.io/en/stable/spec/plans.html#fmf