tools: mold: update to 2.31.0
authorSean Khan <datapronix@protonmail.com>
Mon, 6 May 2024 16:09:09 +0000 (12:09 -0400)
committerRobert Marko <robimarko@gmail.com>
Thu, 9 May 2024 08:45:29 +0000 (10:45 +0200)
commitd03b567b668d14020396def542c0fc829c65d208
treec7e59489d0e97d5ac91b79ca70c1fdce5cbd59d3
parent0341a06f1f22cf1d4de81bc5501364342a388e0f
tools: mold: update to 2.31.0

New:
- 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. (53ebcd8d71430140f6b17c9faf3d)
- -z start-stop-visibility=hidden is now supported so that
  linker-synthesized __start_<section-name> and __stop_<section-name>
  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)

Bug fixes and compatibility improvements:

- 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)

Release Notes:
https://github.com/rui314/mold/releases/tag/v2.31.0

Signed-off-by: Sean Khan <datapronix@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/15403
Signed-off-by: Robert Marko <robimarko@gmail.com>
tools/mold/Makefile