Subject: CVS commit: pkgsrc/devel/mold
From: Adam Ciarcinski
Date: 2025-01-13 11:37:08
Message id: 20250113103708.507ACFC1D@cvs.NetBSD.org

Log Message:
mold: updated to 2.36.0

mold 2.36.0

New Features

The --package-metadata=<string> option has been added to embed a given \ 
string into the .note.package section. This option is designed for build scripts \ 
that generate binary packages, such as .rpm or .deb, to include package metadata \ 
in each executable. It simplifies the process of identifying the corresponding \ 
package for a given executable or core file. (7ddc8f4)
[ARM][PowerPC] We've improved the algorithm for creating range extension thunks \ 
to reduce memory usage and improve speed. For example, linking clang-19 for \ 
ARM64 is now ~7% faster than before. (9fc0ace)
[RISC-V][LoongArch] We've improved the algorithm for code-shrinking linker \ 
relaxation to reduce memory usage and improve speed. For example, linking \ 
clang-19 for RISC-V is now ~4% faster than before. (3234d88)

Bug Fixes and Compatibility Improvements

mold created a bad relocation for an IFUNC if the linker's output file type was \ 
a shared library and the symbol was exported. This bug could cause a \ 
segmentation fault of a linked program. The problem has now been fixed. \ 
(a297859)
[RISC-V] mold could produce incorrect code as a result of code-shrinking \ 
relaxation for the R_RISCV_HI20 relocation. That type of relocation was used \ 
rarely because it is not PC-relative. That being said, if your program used the \ 
relocation, and the relocation targets were at a low address (from 0x1f800 to \ 
0x20000), your program would crash at runtime due to the linker's bug. The issue \ 
has now been resolved. (eec3f6b)
[RISC-V][LoongArch] When the linker removed instructions from a function as a \ 
result of code-shrinking relaxation, the function symbol's size in the output \ 
file should be updated to reflect the result of relaxation, even though doing it \ 
is mostly cosmetic. mold did not do that. Now, mold sets correct sizes to output \ 
function symbols. (e6345d5)
[LoongArch] Binaries linked with mold now work on 64 KiB page systems. \ 
Previously, only up to 16 KiB pages were supported. (2d7b6b2)
[s390x] The s390x processor-specific ABI requires the linker to reserve the \ 
first three slots of the .got section for the runtime. mold, however, reserved \ 
only two slots and used the third for itself. Even though we did not observe \ 
issues in the wild, it was a violation of the psABI. The problem has now been \ 
fixed. (dfce2fc)

Files:
RevisionActionfile
1.41modifypkgsrc/devel/mold/Makefile
1.7modifypkgsrc/devel/mold/PLIST
1.34modifypkgsrc/devel/mold/distinfo