diff --git a/.gitignore b/.gitignore index cf43b85..ecf2ee0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/lld-17.0.6.src.tar.xz -SOURCES/lld-17.0.6.src.tar.xz.sig +SOURCES/lld-18.1.8.src.tar.xz +SOURCES/lld-18.1.8.src.tar.xz.sig diff --git a/.lld.metadata b/.lld.metadata index 9cdcc05..21a7f05 100644 --- a/.lld.metadata +++ b/.lld.metadata @@ -1,2 +1,2 @@ -abe5d45ebea2b9994a5e6ed31268a2114f4fa14f SOURCES/lld-17.0.6.src.tar.xz -849136b25fe7afb56131cdb31ffb08593b6ed997 SOURCES/lld-17.0.6.src.tar.xz.sig +1cf1fa9848b05a07d3d52e69949d44003f2ab2af SOURCES/lld-18.1.8.src.tar.xz +b73ca3f2724b4b930cb7e2c06ea16fb17ce19e30 SOURCES/lld-18.1.8.src.tar.xz.sig diff --git a/SOURCES/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch b/SOURCES/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch index 7d8beda..8d31209 100644 --- a/SOURCES/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch +++ b/SOURCES/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/SPECS/lld.spec b/SPECS/lld.spec index dc660d6..c5af181 100644 --- a/SPECS/lld.spec +++ b/SPECS/lld.spec @@ -15,9 +15,9 @@ %bcond_without check %bcond_with compat_build -%global maj_ver 17 -%global min_ver 0 -%global patch_ver 6 +%global maj_ver 18 +%global min_ver 1 +%global patch_ver 8 #global rc_ver 4 %if %{with snapshot_build} @@ -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 @@ -124,15 +123,6 @@ Shared libraries for LLD. %autosetup -n %{lld_srcdir} -p2 -%if %{with compat_build} -# For compat builds, we don't want to build the actual lld binary. While there is an -# LLD_BUILD_TOOLS cmake option, it is incomplete in various ways (e.g. still leaves install -# targets and symlinks), so instead skip the tools/lld build entirely. -# We can't simply delete the binaries after the fact, because this would leave checks for -# their existence in the cmake exports. -sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt -%endif - %build %cmake \ @@ -144,17 +134,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 +162,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 +188,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 +219,14 @@ fi %{install_libdir}/liblld*.so.* %changelog -%{?llvm_snapshot_changelog_entry} +* Wed Jul 17 2024 Konrad Kleine - 18.1.8-1 +- Update to 18.1.8 + +* Wed Jun 05 2024 Konrad Kleine - 18.1.6-3 +- Rebuild against clang-18.1.6-2 which defaults to DWARF4 + +* 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