From 7050cb4835c226e6333f0fa6362a6c419c2ea874bf0f428415d0f5dd9e2247b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Li=C5=A1ka?= Date: Fri, 3 May 2024 05:49:30 +0000 Subject: [PATCH] - Update to version 2.31.0 * mold is now up to 10% faster when linking very large, debug info-enabled executables such as Blender (~1.8 GiB) or Clang (~3.8 GiB), thanks to several improvements we've made to the string merging algorithm. (53ebcd8, d714301, 40f6b17, c9faf3d) * -z start-stop-visibility=hidden is now supported so that linker-synthesized __start_ and __stop_ symbols can be completely hidden from other ELF modules. Previously, only -z start-stop-visibility=protected was supported. (99a5b15) * -Bsymbolic-non-weak and -Bsymbolic-non-weak-functions options are now supported for compatibility with LLVM lld. Just like lld, these options control which symbols are exported as dynamic symbols. -Bsymbolic-non-weak makes the linker to export only weak symbols, whereas -Bsymbolic-non-weak-functions makes it to export only weak function symbols. (7d17aa8) * Previously, if a linker script contains a newline character in the beginning four bytes of a file, it was not recognized as a linker script by mold. Now, mold allows newlines at the beginning of a file. (ea054cc) * Under rare circumstances, the INPUT linker script command may have found a different file than GNU ld would. Now, mold's behavior aligns with GNU ld's. (163975d) * Previously, the --repro option produced corrupted tar files. Now the bug has been fixed. (32c4a09) * mold generally guarantees that its output is reproducible, meaning that if you run the linker with the exact same command line options and input files, the output is guaranteed to be bit-for-bit identical to the previous outputs. However, under rare circumstances, it might produce different output due to a bug. It's reported that this nondeterminism caused random crashes for some programs (#1247). This bug has been fixed. (6463a7c) * mold no longer sets the address of the .text section as the entry point address if --entry option is not given, just like LLVM lld. (020b1a7) OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/mold?expand=0&rev=118 --- build-blake-3-as-static.patch | 2 +- mold-2.30.0.tar.gz | 3 --- mold-2.31.0.tar.gz | 3 +++ mold.changes | 39 +++++++++++++++++++++++++++++++++++ mold.spec | 2 +- 5 files changed, 44 insertions(+), 5 deletions(-) delete mode 100644 mold-2.30.0.tar.gz create mode 100644 mold-2.31.0.tar.gz diff --git a/build-blake-3-as-static.patch b/build-blake-3-as-static.patch index 8e0a98f..36a1521 100644 --- a/build-blake-3-as-static.patch +++ b/build-blake-3-as-static.patch @@ -3,7 +3,7 @@ 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) + endif() # library target -add_library(blake3 diff --git a/mold-2.30.0.tar.gz b/mold-2.30.0.tar.gz deleted file mode 100644 index a5b3c43..0000000 --- a/mold-2.30.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e5178ccafe828fdb4ba0dd841d083ff6004d3cb41e56485143eb64c716345fd -size 9957539 diff --git a/mold-2.31.0.tar.gz b/mold-2.31.0.tar.gz new file mode 100644 index 0000000..3ace387 --- /dev/null +++ b/mold-2.31.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5 +size 10031469 diff --git a/mold.changes b/mold.changes index 8cc8a61..3e77ab6 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri May 3 05:46:37 UTC 2024 - Martin Liška + +- Update to version 2.31.0 + * mold is now up to 10% faster when linking very large, debug info-enabled + executables such as Blender (~1.8 GiB) or Clang (~3.8 GiB), thanks to several + improvements we've made to the string merging algorithm. (53ebcd8, d714301, + 40f6b17, c9faf3d) + * -z start-stop-visibility=hidden is now supported so that linker-synthesized + __start_ and __stop_ symbols can be completely + hidden from other ELF modules. Previously, only -z + start-stop-visibility=protected was supported. (99a5b15) + * -Bsymbolic-non-weak and -Bsymbolic-non-weak-functions options are now supported + for compatibility with LLVM lld. Just like lld, these options control which + symbols are exported as dynamic symbols. -Bsymbolic-non-weak makes the linker to + export only weak symbols, whereas -Bsymbolic-non-weak-functions makes it to + export only weak function symbols. (7d17aa8) + * Previously, if a linker script contains a newline character in the beginning + four bytes of a file, it was not recognized as a linker script by mold. Now, + mold allows newlines at the beginning of a file. (ea054cc) + * Under rare circumstances, the INPUT linker script command may have found a + different file than GNU ld would. Now, mold's behavior aligns with GNU ld's. + (163975d) + * Previously, the --repro option produced corrupted tar files. Now the bug has + been fixed. (32c4a09) + * mold generally guarantees that its output is reproducible, meaning that if you + run the linker with the exact same command line options and input files, the + output is guaranteed to be bit-for-bit identical to the previous outputs. + However, under rare circumstances, it might produce different output due to a + bug. It's reported that this nondeterminism caused random crashes for some + programs (#1247). This bug has been fixed. (6463a7c) + * mold no longer sets the address of the .text section as the entry point address + if --entry option is not given, just like LLVM lld. (020b1a7) + * [RISC-V] __global_pointer$ symbol is now exported from executables as required + by the processor-specific ABI. (3df7c8e) + * [ARM32] --long-plt option is now recognized as known option by mold. mold + ignores the option, though, because the PLTs generated by our linker is always + long. (d432e98) + ------------------------------------------------------------------- Sun Mar 17 05:42:45 UTC 2024 - Martin Liška diff --git a/mold.spec b/mold.spec index e02552f..1fea6a5 100644 --- a/mold.spec +++ b/mold.spec @@ -17,7 +17,7 @@ Name: mold -Version: 2.30.0 +Version: 2.31.0 Release: 0 Summary: A Modern Linker (mold) License: MIT