import lld-18.1.8-1.el9

c9 imports/c9/lld-18.1.8-1.el9
MSVSphere Packaging Team 3 months ago
parent 1abe78ef41
commit a9bb8c74a1
Signed by: sys_gitsync
GPG Key ID: B2B0B9F29E528FE8

6
.gitignore vendored

@ -1,4 +1,2 @@
SOURCES/cmake-16.0.6.src.tar.xz SOURCES/lld-18.1.8.src.tar.xz
SOURCES/cmake-16.0.6.src.tar.xz.sig SOURCES/lld-18.1.8.src.tar.xz.sig
SOURCES/lld-16.0.6.src.tar.xz
SOURCES/lld-16.0.6.src.tar.xz.sig

@ -1,4 +1,2 @@
0de534cfef38697e115c3ae80634765f05e78e5b SOURCES/cmake-16.0.6.src.tar.xz 1cf1fa9848b05a07d3d52e69949d44003f2ab2af SOURCES/lld-18.1.8.src.tar.xz
2db5c88fe9277bb0fa85f49b58e946e49ff235c2 SOURCES/cmake-16.0.6.src.tar.xz.sig b73ca3f2724b4b930cb7e2c06ea16fb17ce19e30 SOURCES/lld-18.1.8.src.tar.xz.sig
2d0fabd3ed583d1030cfe802a709292057761f87 SOURCES/lld-16.0.6.src.tar.xz
4f5ffbb0aa5f32456432e450721b2e51f35638e6 SOURCES/lld-16.0.6.src.tar.xz.sig

@ -1,37 +0,0 @@
From 56464ba865b7df5bf3edb9be7dc3b6a0fbe21e21 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Mon, 13 Mar 2023 18:22:31 +0100
Subject: [PATCH] [lld] Use installed llvm_gtest in standalone builds
Use the installed llvm_gtest library instead of rebuilding it locally
when standalone builds are used. This change is now required
as otherwise the build fails due to duplicate llvm_gtest target.
This is based on 82169103958583d3320b3a9a1e6542e8d32ef8da in clang.
Differential Revision: https://reviews.llvm.org/D145964
---
lld/CMakeLists.txt | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
index 3d6225646fe6..1e9e47393196 100644
--- a/lld/CMakeLists.txt
+++ b/lld/CMakeLists.txt
@@ -75,11 +75,9 @@ if(LLD_BUILT_STANDALONE)
set(LLVM_UTILS_PROVIDED ON)
set(LLD_TEST_DEPS FileCheck not)
endif()
- set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/unittest)
- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
- add_subdirectory(${UNITTEST_DIR} third-party/unittest)
+
+ if (NOT TARGET llvm_gtest)
+ message(FATAL_ERROR "llvm-gtest not found. Please install llvm-gtest or disable tests with -DLLVM_INCLUDE_TESTS=OFF")
endif()
else()
# Seek installed Lit.
--
2.39.2

@ -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 <sguelton@redhat.com> From: serge-sans-paille <sguelton@redhat.com>
Date: Thu, 25 Feb 2021 14:24:14 +0100 Date: Thu, 25 Feb 2021 14:24:14 +0100
Subject: [PATCH 2/2] [PATCH][lld] Import compact_unwind_encoding.h from Subject: [PATCH][lld] Import compact_unwind_encoding.h from libunwind
libunwind
This avoids an implicit cross package dependency 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(+) 1 file changed, 477 insertions(+)
create mode 100644 lld/include/mach-o/compact_unwind_encoding.h 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 diff --git a/lld/include/mach-o/compact_unwind_encoding.h b/lld/include/mach-o/compact_unwind_encoding.h
new file mode 100644 new file mode 100644
index 0000000..5301b10 index 000000000000..5301b1055ef9
--- /dev/null --- /dev/null
+++ b/lld/include/mach-o/compact_unwind_encoding.h +++ b/lld/include/mach-o/compact_unwind_encoding.h
@@ -0,0 +1,477 @@ @@ -0,0 +1,477 @@
@ -494,5 +493,5 @@ index 0000000..5301b10
+#endif +#endif
+ +
-- --
1.8.3.1 2.30.2

@ -1,34 +1,67 @@
%bcond_with snapshot_build
%if %{with snapshot_build}
# Unlock LLVM Snapshot LUA functions
%{llvm_sb_verbose}
%{llvm_sb}
%endif
%global toolchain clang %global toolchain clang
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers
%bcond_without check %bcond_without check
%bcond_with compat_build
%global maj_ver 18
%global min_ver 1
%global patch_ver 8
#global rc_ver 4
%if %{with snapshot_build}
%undefine rc_ver
%global maj_ver %{llvm_snapshot_version_major}
%global min_ver %{llvm_snapshot_version_minor}
%global patch_ver %{llvm_snapshot_version_patch}
%endif
%global lld_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global lld_srcdir lld-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %global lld_srcdir lld-%{lld_version}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global maj_ver 16
%global min_ver 0
%global patch_ver 6
%if %{with compat_build}
%global pkg_name lld%{maj_ver}
%global install_prefix %{_libdir}/llvm%{maj_ver}
%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 pkg_name lld
%global install_prefix /usr %global install_prefix /usr
%global install_includedir %{_includedir} %global install_includedir %{_includedir}
%global install_libdir %{_libdir} %global install_libdir %{_libdir}
%global install_datadir %{_datadir}
%global install_bindir %{_bindir}
%endif
Name: %{pkg_name} Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} Version: %{lld_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
Release: 1%{?dist} Release: 1%{?dist}
Summary: The LLVM Linker Summary: The LLVM Linker
License: Apache-2.0 WITH LLVM-exception OR NCSA License: Apache-2.0 WITH LLVM-exception OR NCSA
URL: http://llvm.org URL: http://llvm.org
%if %{with snapshot_build}
Source0: %{llvm_snapshot_source_prefix}lld-%{llvm_snapshot_yyyymmdd}.src.tar.xz
%{llvm_snapshot_extra_source_tags}
%else
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 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 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: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz Source2: release-keys.asc
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig %endif
Source4: release-keys.asc
ExcludeArch: s390x
# Backport from LLVM 17.
Patch0: 0001-lld-Use-installed-llvm_gtest-in-standalone-builds.patch
# Bundle libunwind header need during build for MachO support # Bundle libunwind header need during build for MachO support
Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
@ -36,9 +69,15 @@ Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
BuildRequires: clang BuildRequires: clang
BuildRequires: cmake BuildRequires: cmake
BuildRequires: ninja-build BuildRequires: ninja-build
%if %{with compat_build}
BuildRequires: llvm%{maj_ver}-devel = %{version}
BuildRequires: llvm%{maj_ver}-cmake-utils = %{version}
%else
BuildRequires: llvm-devel = %{version} BuildRequires: llvm-devel = %{version}
BuildRequires: llvm-cmake-utils = %{version}
BuildRequires: llvm-test = %{version} BuildRequires: llvm-test = %{version}
BuildRequires: llvm-googletest = %{version} BuildRequires: llvm-googletest = %{version}
%endif
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -46,7 +85,6 @@ BuildRequires: zlib-devel
BuildRequires: python3-rpm-macros BuildRequires: python3-rpm-macros
BuildRequires: python3-lit BuildRequires: python3-lit
# For gpg source verification # For gpg source verification
BuildRequires: gnupg2 BuildRequires: gnupg2
@ -55,17 +93,18 @@ Requires(preun): %{_sbindir}/update-alternatives
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Obsoletes: lld-test < 15.0.7
%description %description
The LLVM project linker. The LLVM project linker.
%package devel %package devel
Summary: Libraries and header files for LLD Summary: Libraries and header files for LLD
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if %{without compat_build}
# lld tools are referenced in the cmake files, so we need to add lld as a # lld tools are referenced in the cmake files, so we need to add lld as a
# dependency. # dependency.
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%endif
Provides: %{name}-devel(major) = %{maj_ver}
%description devel %description devel
This package contains library and header files needed to develop new native This package contains library and header files needed to develop new native
@ -77,17 +116,12 @@ Summary: LLD shared libraries
%description libs %description libs
Shared libraries for LLD. Shared libraries for LLD.
%prep %prep
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %if %{without snapshot_build}
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE2}' %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -T -q -b 2 -n %{cmake_srcdir} %endif
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
# but this is not a CACHED variable, so we can't actually set it externally :(
cd ..
mv %{cmake_srcdir} cmake
%autosetup -n %{lld_srcdir} -p2
%autosetup -n %{lld_srcdir} -p2
%build %build
@ -97,16 +131,24 @@ mv %{cmake_srcdir} cmake
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
-DLLVM_DYLIB_COMPONENTS="all" \ -DLLVM_DYLIB_COMPONENTS="all" \
-DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \
-DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=ON \
-DPYTHON_EXECUTABLE=%{__python3} \ -DPYTHON_EXECUTABLE=%{__python3} \
%if %{with snapshot_build}
-DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
%endif
-DLLVM_INCLUDE_TESTS=ON \ -DLLVM_INCLUDE_TESTS=ON \
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
-DLLVM_LIT_ARGS="-sv \ -DLLVM_LIT_ARGS="-sv \
--path %{install_libdir}/llvm" \ --path %{_libdir}/llvm" \
%if %{with compat_build}
-DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
%else
%if 0%{?__isa_bits} == 64 %if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64 \ -DLLVM_LIBDIR_SUFFIX=64 \
%else %else
-DLLVM_LIBDIR_SUFFIX= \ -DLLVM_LIBDIR_SUFFIX= \
%endif
%endif %endif
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src
@ -120,12 +162,21 @@ mv %{cmake_srcdir} cmake
# This is generated by Patch1 during build and (probably) must be removed afterward # This is generated by Patch1 during build and (probably) must be removed afterward
rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h
%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: # Required when using update-alternatives:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/
touch %{buildroot}%{_bindir}/ld touch %{buildroot}%{_bindir}/ld
install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1
%post %post
%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 %{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1
@ -133,23 +184,31 @@ install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld
fi fi
%endif
%check %check
%if %{with check} %if %{with check}
export LD_LIBRARY_PATH=%{buildroot}/%{install_libdir}
%cmake_build --target check-lld %cmake_build --target check-lld
%endif %endif
%if %{without compat_build}
%ldconfig_scriptlets libs %ldconfig_scriptlets libs
%endif
%files %files
%license LICENSE.TXT %license LICENSE.TXT
%ghost %{_bindir}/ld %ghost %{_bindir}/ld
%{_bindir}/lld* %{install_bindir}/lld*
%{_bindir}/ld.lld %{install_bindir}/ld.lld
%{_bindir}/ld64.lld %{install_bindir}/ld64.lld
%{_bindir}/wasm-ld %{install_bindir}/wasm-ld
%if %{without compat_build}
%{_mandir}/man1/ld.lld.1* %{_mandir}/man1/ld.lld.1*
%else
%{_bindir}/*-%{maj_ver}
%endif
%files devel %files devel
%{install_includedir}/lld %{install_includedir}/lld
@ -159,8 +218,22 @@ fi
%files libs %files libs
%{install_libdir}/liblld*.so.* %{install_libdir}/liblld*.so.*
%changelog %changelog
* Wed Jul 17 2024 Konrad Kleine <kkleine@redhat.com> - 18.1.8-1
- Update to 18.1.8
* Wed Jun 05 2024 Konrad Kleine <kkleine@redhat.com> - 18.1.6-3
- Rebuild against clang-18.1.6-2 which defaults to DWARF4
* Mon Jun 03 2024 Konrad Kleine <kkleine@redhat.com> - 18.1.6-1
- Update to 18.1.6
* Mon Dec 11 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.6-1
- Update to 17.0.6
* Thu Sep 28 2023 Timm Bäder <tbaeder@redhat.com> - 17.0.1-1
- Update to 17.0.1
* Wed Jul 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1 * Wed Jul 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1
- Update to LLVM 16.0.6 - Update to LLVM 16.0.6

Loading…
Cancel
Save