Skip to content

Conversation

@egtvedt
Copy link
Contributor

@egtvedt egtvedt commented Apr 23, 2025

Add newly released mold version 2.37.1 from upstream https://github.com/rui314/mold

2.37.1

  • Fixed a bug where mold incorrectly reported a spurious "duplicate symbol" error when LTO was enabled. (c95476d)

2.37.0
New Features

  • If an undefined weak symbol is not resolved to a defined symbol at link time, the linker can choose whether to promote the symbol to a dynamic symbol or not. If promoted, the weak symbol has another chance to be resolved to a defined symbol at load time. Otherwise, it is resolved to address 0 at link time. Previously, mold always resolved remaining undefined weak symbols in an executable to address 0 at link time. Now, you can instruct the linker to promote them to dynamic symbols using -z dynamic-undefined-weak. (1822e47)

Bug Fixes and Compatibility Improvements

  • [x86-64] The relocation types R_X86_64_CODE_4_{GOTPCRELX,GOTTPOFF,GOTPC32_TLSDESC} and R_X86_64_CODE_6_GOTTPOFF are now supported. These relocations are for Intel APX (Advanced Performance Extensions), which extends the number of general-purpose registers from 16 to 32. (83152ac, a17202d)

  • [ARM32] The R_ARM_THM_JUMP8 relocation type is now supported. (1fbbcec)

  • [ARM32] Previously, the .ARM.exidx section (which contains exception-handling records) was not subject to garbage collection, even when --gc-sections was specified. This prevented all functions from being garbage-collected, as they were referenced by exception-handling records. Now, mold correctly garbage-collects unused .ARM.exidx records and functions. (16f7599)

  • Previously, --compress-debug-sections was ignored if --separate-debug-file was specified. Now, mold compresses debug information sections even when they are in a separate debug file. (bab7dd1)

Add newly released mold version 2.37.1 from upstream
https://github.com/rui314/mold

2.37.1
- Fixed a bug where mold incorrectly reported a spurious "duplicate
  symbol" error when LTO was enabled. (c95476d)

2.37.0
New Features
- If an undefined weak symbol is not resolved to a defined symbol at
  link time, the linker can choose whether to promote the symbol to a
  dynamic symbol or not. If promoted, the weak symbol has another chance
  to be resolved to a defined symbol at load time. Otherwise, it is
  resolved to address 0 at link time. Previously, mold always resolved
  remaining undefined weak symbols in an executable to address 0 at link
  time. Now, you can instruct the linker to promote them to dynamic
  symbols using -z dynamic-undefined-weak. (1822e47)

Bug Fixes and Compatibility Improvements
- [x86-64] The relocation types
  R_X86_64_CODE_4_{GOTPCRELX,GOTTPOFF,GOTPC32_TLSDESC} and
  R_X86_64_CODE_6_GOTTPOFF are now supported. These relocations are for
  Intel APX (Advanced Performance Extensions), which extends the number
  of general-purpose registers from 16 to 32. (83152ac, a17202d)

- [ARM32] The R_ARM_THM_JUMP8 relocation type is now supported.
  (1fbbcec)

- [ARM32] Previously, the .ARM.exidx section (which contains
  exception-handling records) was not subject to garbage collection,
  even when --gc-sections was specified. This prevented all functions
  from being garbage-collected, as they were referenced by
  exception-handling records. Now, mold correctly garbage-collects
  unused .ARM.exidx records and functions. (16f7599)

- Previously, --compress-debug-sections was ignored if
  --separate-debug-file was specified. Now, mold compresses debug
  information sections even when they are in a separate debug file.
  (bab7dd1)

Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
@cpackham cpackham merged commit 179fe2d into crosstool-ng:master Apr 26, 2025
12 of 60 checks passed
@egtvedt egtvedt deleted the mold-add-2.37.1 branch April 29, 2025 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants