From 4a6811b64c20a3dd088a4bed9e55e70e212111bab1fde059c11dd07f50c5f038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Li=C5=A1ka?= Date: Sun, 24 Sep 2023 17:54:39 +0000 Subject: [PATCH 1/2] - Update to version 2.2.0 * We now use BLAKE3 as a cryptographic hash function instead of SHA256. This change has made --build-id a few percent faster. libssl is no longer a build dependency. (7f7a744) * mold is now a few percent faster than the previous version due to an optimization of string merging code path. (1a13c50) * mold now emits slightly optimized code for thread-local variable accesses. (f057fda, d56f528) * [RISC-V] mold now supports TLSDESC relocations. TLSDESC is a new mechanism for faster thread-local variable access. We (@ishitatsuyuki) actually led the effort to ratify the specification (riscv-non-isa/riscv-elf-psabi-doc#373) and implement it to compiler toolchain including GCC, GNU binutils and, of course, mold. (141556d) * mold no longer marks an as-needed .so as "needed" if the .so file is not directly used by the output file. Previously, mold marked a .so file as "needed" if the .so file was used by another "needed" .so file. (f02db0f) * [PPC64] --execute-only now works on 64-bit PowerPC. (ac20d87, 51fec5f) - Remove openssl dependency. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/mold?expand=0&rev=95 --- mold-2.1.0.tar.gz | 3 --- mold-2.2.0.tar.gz | 3 +++ mold.changes | 22 ++++++++++++++++++++++ mold.spec | 3 +-- 4 files changed, 26 insertions(+), 5 deletions(-) delete mode 100644 mold-2.1.0.tar.gz create mode 100644 mold-2.2.0.tar.gz diff --git a/mold-2.1.0.tar.gz b/mold-2.1.0.tar.gz deleted file mode 100644 index 1659b27..0000000 --- a/mold-2.1.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a32bec1282671b18ea4691855aed925ea2f348dfef89cb7689cd81273ea0c5df -size 9278811 diff --git a/mold-2.2.0.tar.gz b/mold-2.2.0.tar.gz new file mode 100644 index 0000000..ea06768 --- /dev/null +++ b/mold-2.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78ddddaaa004e50f8d92a13d8e792a46a1b37745fab48d39ad16aeb5a776e7c6 +size 9956678 diff --git a/mold.changes b/mold.changes index 88be9ee..5ab9090 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Sun Sep 24 17:50:53 UTC 2023 - Martin Liška + +- Update to version 2.2.0 + * We now use BLAKE3 as a cryptographic hash function instead of SHA256. This + change has made --build-id a few percent faster. libssl is no longer a build + dependency. (7f7a744) + * mold is now a few percent faster than the previous version due to an + optimization of string merging code path. (1a13c50) + * mold now emits slightly optimized code for thread-local variable accesses. + (f057fda, d56f528) + * [RISC-V] mold now supports TLSDESC relocations. TLSDESC is a new mechanism for + faster thread-local variable access. We (@ishitatsuyuki) actually led the effort + to ratify the specification (riscv-non-isa/riscv-elf-psabi-doc#373) and + implement it to compiler toolchain including GCC, GNU binutils and, of course, + mold. (141556d) + * mold no longer marks an as-needed .so as "needed" if the .so file is not + directly used by the output file. Previously, mold marked a .so file as "needed" + if the .so file was used by another "needed" .so file. (f02db0f) + * [PPC64] --execute-only now works on 64-bit PowerPC. (ac20d87, 51fec5f) +- Remove openssl dependency. + ------------------------------------------------------------------- Sun Aug 13 19:37:35 UTC 2023 - Martin Liška diff --git a/mold.spec b/mold.spec index a7a0d97..4079d0c 100644 --- a/mold.spec +++ b/mold.spec @@ -17,7 +17,7 @@ Name: mold -Version: 2.1.0 +Version: 2.2.0 Release: 0 Summary: A Modern Linker (mold) License: MIT @@ -42,7 +42,6 @@ BuildRequires: gcc-32bit BuildRequires: gdb BuildRequires: glibc-devel-static BuildRequires: libzstd-devel -BuildRequires: openssl-devel %ifnarch ppc64 BuildRequires: valgrind %endif From 27a0b36e2a7a4d01d9eb0ebdad2e96ddc16dc2bf7894e0d6b0fb9af4d1333b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Li=C5=A1ka?= Date: Tue, 26 Sep 2023 20:11:43 +0000 Subject: [PATCH 2/2] - Add build-blake-3-as-static.patch that builts BLAKE 3 support as static library into mold. The library is not provided in openSUSE yet. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/mold?expand=0&rev=96 --- build-blake-3-as-static.patch | 13 +++++++++++++ mold.changes | 6 ++++++ mold.spec | 1 + 3 files changed, 20 insertions(+) create mode 100644 build-blake-3-as-static.patch diff --git a/build-blake-3-as-static.patch b/build-blake-3-as-static.patch new file mode 100644 index 0000000..8e0a98f --- /dev/null +++ b/build-blake-3-as-static.patch @@ -0,0 +1,13 @@ +diff --git a/third-party/blake3/c/CMakeLists.txt b/third-party/blake3/c/CMakeLists.txt +index 3aa6c15..4790918 100644 +--- a/third-party/blake3/c/CMakeLists.txt ++++ b/third-party/blake3/c/CMakeLists.txt +@@ -31,7 +31,7 @@ set(BLAKE3_X86_NAMES i686 x86 X86) + set(BLAKE3_ARMv8_NAMES aarch64 AArch64 arm64 ARM64 armv8 armv8a) + + # library target +-add_library(blake3 ++add_library(blake3 STATIC + blake3.c + blake3_dispatch.c + blake3_portable.c diff --git a/mold.changes b/mold.changes index 5ab9090..f0305cf 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Sep 26 20:11:13 UTC 2023 - Martin Liška + +- Add build-blake-3-as-static.patch that builts BLAKE 3 support as static library + into mold. The library is not provided in openSUSE yet. + ------------------------------------------------------------------- Sun Sep 24 17:50:53 UTC 2023 - Martin Liška diff --git a/mold.spec b/mold.spec index 4079d0c..a1aa178 100644 --- a/mold.spec +++ b/mold.spec @@ -24,6 +24,7 @@ License: MIT Group: Development/Tools/Building URL: https://github.com/rui314/mold Source: https://github.com/rui314/mold/archive/v%{version}/mold-%{version}.tar.gz +Patch0: build-blake-3-as-static.patch BuildRequires: cmake %if %{suse_version} < 1550 BuildRequires: gcc11-c++