From 1f530b7e135515ab78f6e4899321837ff8f3e354 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 28 Mar 2023 11:12:41 +0000 Subject: [PATCH] import lld-15.0.7-4.el9 --- .gitignore | 4 +- .lld.metadata | 4 +- SOURCES/lit.lld-test.cfg.py | 12 --- SOURCES/lld-14.0.6.src.tar.xz.sig | Bin 566 -> 0 bytes SOURCES/lld-15.0.7.src.tar.xz.sig | Bin 0 -> 566 bytes SOURCES/run-lit-tests | 66 --------------- SPECS/lld.spec | 132 +++++++++++------------------- 7 files changed, 52 insertions(+), 166 deletions(-) delete mode 100644 SOURCES/lit.lld-test.cfg.py delete mode 100644 SOURCES/lld-14.0.6.src.tar.xz.sig create mode 100644 SOURCES/lld-15.0.7.src.tar.xz.sig delete mode 100644 SOURCES/run-lit-tests diff --git a/.gitignore b/.gitignore index 8a01b32..491ecc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/lld-14.0.6.src.tar.xz -SOURCES/tstellar-gpg-key.asc +SOURCES/lld-15.0.7.src.tar.xz +SOURCES/release-keys.asc diff --git a/.lld.metadata b/.lld.metadata index 5171d3a..3ef12cd 100644 --- a/.lld.metadata +++ b/.lld.metadata @@ -1,2 +1,2 @@ -bba0ab108d525c911e80fed4b10435e459cdf7b6 SOURCES/lld-14.0.6.src.tar.xz -b8d2648a01d36ed0186fd2c5af325fd28797f9a0 SOURCES/tstellar-gpg-key.asc +7a34849834b6a6172a2fcc5e166c869d1c4b0203 SOURCES/lld-15.0.7.src.tar.xz +347bdd5ee6d6b93c9644c268511815912c0fb2dc SOURCES/release-keys.asc diff --git a/SOURCES/lit.lld-test.cfg.py b/SOURCES/lit.lld-test.cfg.py deleted file mode 100644 index 10d165b..0000000 --- a/SOURCES/lit.lld-test.cfg.py +++ /dev/null @@ -1,12 +0,0 @@ -#Clear lld_tools_dir so we don't accidently pick up tools from somewhere else -config.lld_tools_dir = "" - -if hasattr(config, 'have_zlib'): - # Regression tests write output to this directory, so we need to be able to specify - # a temp directory when invoking lit. e.g. lit -Dlld_obj_root=/tmp/lit - config.lld_obj_root = "%(lld_obj_root)s" % lit_config.params - lit_config.load_config(config, '%(lld_test_root)s/lit.cfg.py' % lit_config.params) -else: - # For unit tests, llvm_obj_root is used to find the unit test binaries. - config.lld_obj_root = '%(lld_unittest_bindir)s' % lit_config.params - lit_config.load_config(config, '%(lld_test_root)s/Unit/lit.cfg.py' % lit_config.params) diff --git a/SOURCES/lld-14.0.6.src.tar.xz.sig b/SOURCES/lld-14.0.6.src.tar.xz.sig deleted file mode 100644 index afb22490d4c5f9fa332ae26a8d1c45751962e167..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmV-60?GY}0y6{v0SEvc79j*jP9iaCzek0rjBbvi$CRmtL7j>P0%Ep`W&jEa5TeJF zsfIzFij4IS|8E_|dZ9EJg-tRc^#-$Bko7sHx;a+UP7YPGz9o!X5<~dLhda441L>H9 zw~b5P+WaTNKDw7|NmgB=9w0L(Ckos-eoo8RQL})||LtQ}Th{`6fxaEAQu11PvGL`8 zI7d;4OXyb@ux>2)Vm{hI0b%|DwcLz}wuCpYmfE#D{N@k*b||-3&ztLXH^A9#of(~> z0ra4Dx@W5+o_8z=SVVIAYB!+SzZ(EYG3{iwe9347>anN|5Hf+=vB=G!)1V&u0Bt4Q zlg|zmPQYma*dhRHW@9*VhJCK`6s=rNgiu-FZ>vSh8`G&MS#u>KsSBM8`wnT^TN^@GL4}r%$4D3q7#X?O6%j(5vB+=9tatgP0%O0rK>!K~5TeJF zsfIzFiuAb<0GqJ6MGL5CgFQ6UN!!X@eXh^Xz>D{hQEz^+^A_J?QQoL_XbHKU1DMO7w z{|&eP8bZpxf2zv>Hm1XKoM@ow;{t2Xc9ooQaG@( zOSR^5U~>K_Im0Y5iJ>g8=K*S*Epp(7gxb&6dIF2j-!_X|AD&oXn`Fy=b~TN-!Viaq zJ0NNX0eq%C|K2gW?Eod19ZK)Nb$P1fJ{Uyj&2dW_c0}Z+P=Lk`Gz+$%qn91()`21D z7k<;B{6`SfMjoNfs^~JPH2Ki1dSP{?pqo|^j8$1qOd%fqYtlF0tzV#LN)k@Y?uKE;@dZL9Hkd2yWMZnVvxwe@zul-(o&D%z~J2iKr;4VZ) EtTL(>egFUf literal 0 HcmV?d00001 diff --git a/SOURCES/run-lit-tests b/SOURCES/run-lit-tests deleted file mode 100644 index 1a448d0..0000000 --- a/SOURCES/run-lit-tests +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -usage() { - cat << EOF -usage: `basename $0` [OPTIONS] - --threads NUM The number of threads to use for running tests. - --multilib-arch ARCH Use this option to test 32-bit libs/binaries on - 64-bit hosts. -EOF -} - -threads_arg='' - -while [ $# -gt 0 ]; do - case $1 in - --threads) - shift - threads_arg="--threads $1" - ;; - --multilib-arch) - shift - ARCH=$1 - ;; - * ) - echo "unknown option: $1" - echo "" - usage - exit 1 - ;; - esac - shift -done - -if [ `whoami` = "root" ]; then - echo "error: lld tests do not support running as root." - exit 1 -fi - -set -xe - -if [ -z "$ARCH" ]; then - ARCH=`rpm --eval '%_arch'` -fi - -case $ARCH in - arm) - ;& - i686) - LIB_DIR="/usr/lib/" - ;; - *) - LIB_DIR="/usr/lib64/" - ;; -esac - -cd $(mktemp -d -p /var/tmp) -ln -s /usr/include include -tar -xzf /usr/share/lld/src/test.tar.gz -ln -s /usr/share/lld/src/$ARCH.site.cfg.py test/lit.site.cfg.py -ln -s /usr/share/lld/src/$ARCH.Unit.site.cfg.py test/Unit/lit.site.cfg.py - -LD_LIBRARY_PATH=$LIB_DIR/lld:$LD_LIBRARY_PATH \ -lit -v -s $threads_arg test \ - -Dlld_obj_root=`pwd` \ - -Dlld_test_root=`pwd`/test \ - -Dlld_unittest_bindir=$LIB_DIR/lld diff --git a/SPECS/lld.spec b/SPECS/lld.spec index 62830c1..20de5b4 100644 --- a/SPECS/lld.spec +++ b/SPECS/lld.spec @@ -1,27 +1,26 @@ +%global toolchain clang %bcond_without check -#global rc_ver 1 %global lld_srcdir lld-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src -%global maj_ver 14 +%global maj_ver 15 %global min_ver 0 -%global patch_ver 6 +%global patch_ver 7 -# Don't include unittests in automatic generation of provides or requires. -%global __provides_exclude_from ^%{_libdir}/lld/.*$ -%global __requires_exclude ^libgtest.*$ +%global pkg_name lld +%global install_prefix /usr +%global install_includedir %{_includedir} +%global install_libdir %{_libdir} -Name: lld +Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} -Release: 1%{?dist} +Release: 4%{?dist} Summary: The LLVM Linker License: NCSA URL: http://llvm.org -Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz -Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz.sig -Source2: tstellar-gpg-key.asc -Source3: run-lit-tests -Source4: lit.lld-test.cfg.py +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz.sig +Source2: release-keys.asc ExcludeArch: s390x @@ -30,19 +29,19 @@ Patch0: 0001-PATCH-lld-CMake-Check-for-gtest-headers-even-if-lit..patch # Bundle libunwind header need during build for MachO support Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch -BuildRequires: gcc -BuildRequires: gcc-c++ +BuildRequires: clang BuildRequires: cmake BuildRequires: ninja-build BuildRequires: llvm-devel = %{version} BuildRequires: llvm-test = %{version} +BuildRequires: llvm-googletest = %{version} BuildRequires: ncurses-devel BuildRequires: zlib-devel # For make check: BuildRequires: python3-rpm-macros BuildRequires: python3-lit -BuildRequires: llvm-googletest = %{version} + # For gpg source verification BuildRequires: gnupg2 @@ -50,14 +49,16 @@ BuildRequires: gnupg2 Requires(post): %{_sbindir}/update-alternatives Requires(preun): %{_sbindir}/update-alternatives -Requires: lld-libs = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} + +Obsoletes: lld-test < 15.0.7 %description The LLVM project linker. %package devel Summary: Libraries and header files for LLD -Requires: lld-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} # lld tools are referenced in the cmake files, so we need to add lld as a # dependency. Requires: %{name}%{?_isa} = %{version}-%{release} @@ -72,15 +73,6 @@ Summary: LLD shared libraries %description libs Shared libraries for LLD. -%package test -Summary: LLD regression tests -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python3-lit -Requires: llvm-test(major) = %{maj_ver} -Requires: lld-libs = %{version}-%{release} - -%description test -LLVM regression tests. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' @@ -94,68 +86,32 @@ LLVM regression tests. %cmake \ -GNinja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_DYLIB_COMPONENTS="all" \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DPYTHON_EXECUTABLE=%{__python3} \ -DLLVM_INCLUDE_TESTS=ON \ - -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DLLVM_LIT_ARGS="-sv \ - --path %{_libdir}/llvm" \ + --path %{install_libdir}/llvm" \ %if 0%{?__isa_bits} == 64 - -DLLVM_LIBDIR_SUFFIX=64 + -DLLVM_LIBDIR_SUFFIX=64 \ %else - -DLLVM_LIBDIR_SUFFIX= + -DLLVM_LIBDIR_SUFFIX= \ %endif + -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src %cmake_build -# Build the unittests so we can install them. -%cmake_build --target lld-test-depends - %install -%global lit_cfg test/%{_arch}.site.cfg.py -%global lit_unit_cfg test/Unit/%{_arch}.site.cfg.py -%global lit_lld_test_cfg_install_path %{_datadir}/lld/lit.lld-test.cfg.py - -# Generate lit config files. Strip off the last line that initiates the -# test run, so we can customize the configuration. -head -n -1 %{__cmake_builddir}/test/lit.site.cfg.py >> %{lit_cfg} -head -n -1 %{__cmake_builddir}/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg} - -# Patch lit config files to load custom config: -for f in %{lit_cfg} %{lit_unit_cfg}; do - echo "lit_config.load_config(config, '%{lit_lld_test_cfg_install_path}')" >> $f -done - -# Install test files -install -d %{buildroot}%{_datadir}/lld/src -cp %{SOURCE4} %{buildroot}%{_datadir}/lld/ - -# The various tar options are there to make sur the archive is the same on 32 and 64 bit arch, i.e. -# the archive creation is reproducible. Move arch-specific content out of the tarball -mv %{lit_cfg} %{buildroot}%{_datadir}/lld/src/%{_arch}.site.cfg.py -mv %{lit_unit_cfg} %{buildroot}%{_datadir}/lld/src/%{_arch}.Unit.site.cfg.py -tar --sort=name --mtime='UTC 2020-01-01' -c test/ | gzip -n > %{buildroot}%{_datadir}/lld/src/test.tar.gz - -install -d %{buildroot}%{_libexecdir}/tests/lld -install -m 0755 %{SOURCE3} %{buildroot}%{_libexecdir}/tests/lld - -# Install unit test binaries -install -d %{buildroot}%{_libdir}/lld/ - -rm -rf $(find %{buildroot}%{_libdir}/lld/ -iname '*make*') - -# Install gtest libraries -cp %{__cmake_builddir}/%{_lib}/libgtest*so* %{buildroot}%{_libdir}/lld/ - # Install libraries and binaries %cmake_install # This is generated by Patch1 during build and (probably) must be removed afterward -rm %{buildroot}%{_includedir}/mach-o/compact_unwind_encoding.h +rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h # Required when using update-alternatives: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ @@ -171,12 +127,9 @@ fi %check -# armv7lhl tests disabled because of arm issue, see https://koji.fedoraproject.org/koji/taskinfo?taskID=33660162 -%ifnarch %{arm} %if %{with check} %cmake_build --target check-lld %endif -%endif %ldconfig_scriptlets libs @@ -189,22 +142,33 @@ fi %{_bindir}/wasm-ld %files devel -%{_includedir}/lld -%{_libdir}/liblld*.so -%{_libdir}/cmake/lld/ +%{install_includedir}/lld +%{install_libdir}/liblld*.so +%{install_libdir}/cmake/lld/ %files libs -%{_libdir}/liblld*.so.* +%{install_libdir}/liblld*.so.* -%files test -%{_libexecdir}/tests/lld/ -%{_libdir}/lld/ -%{_datadir}/lld/src/test.tar.gz -%{_datadir}/lld/src/%{_arch}.site.cfg.py -%{_datadir}/lld/src/%{_arch}.Unit.site.cfg.py -%{_datadir}/lld/lit.lld-test.cfg.py %changelog +* Tue Jan 31 2023 Konrad Kleine - 15.0.7-4 +- Fixup for obsoleting lld-test < 15.0.7 + +* Mon Jan 30 2023 Konrad Kleine - 15.0.7-3 +- Obsolete lld-test < 15.0.7 + +* Mon Jan 16 2023 Konrad Kleine - 15.0.7-2 +- Update to LLVM 15.0.7 + +* Fri Dec 09 2022 Konrad Kleine - 15.0.6-1 +- Update to LLVM 15.0.6 + +* Tue Oct 25 2022 Konrad Kleine - 15.0.1-2 +- Remove lld-test package + +* Thu Sep 29 2022 Konrad Kleine - 15.0.1-1 +- 15.0.1 Release + * Wed Jul 20 2022 Timm Bäder - 14.0.6-1 - 14.0.6 Release