pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/mold



Module Name:    pkgsrc
Committed By:   adam
Date:           Fri May 30 09:09:24 UTC 2025

Modified Files:
        pkgsrc/devel/mold: Makefile distinfo

Log Message:
mold: updated to 2.40.0

2.40.0

New Features

mold now lays out DWARF32 debug info before DWARF64 in output debug sections to mitigate relocation overflow issues with DWARF32 when a debug info section exceeds 4 GiB. This should help people who 
are building extremely large executables in debug mode. (19a1bc6, 159ce3b)

Here are the details: By default, GCC and Clang emit DWARF32 even for 64-bit code. That is, the debug info typically uses 32 bit offsets to refer to locations in other debug info sections while it 
uses 64 bits to represent addresses. This imposes a limitation on the largest offset DWARF32 debug info can refer to, which is 4 GiB. If the output debug section exceeds that size, the linker may 
report a relocation overflow error. You can instruct the compilers to emit DWARF64, which uses 64 bits for inter-debug info references, if you are building an extremely large executable. So, the 
proper fix for the relocation overflow issue is to build all object files with -gdwarf64. However, rebuilding all static libraries with the new compiler flag is not always feasible for various 
reasons. This new feature mitigates the issue by placing DWARF32 at the beginning of output debug info sections, followed by DWARF64. By doing so, relocation overflow can be prevented as long as the 
total size
 of DWARF32 remains under 4 GiB, allowing users to continue using object files compiled without -gdwarf64 in very large executables.

Note that mold only sorts debug section contents when their size exceeds 4 GiB. Therefore, for most outputs, this mitigation doesn't change the result at all.

Bug Fixes and Compatibility Improvements

Fixed a regression introduced in 2.38.0 in which a thread-local variable with an unusually large alignment might not have been aligned properly. That caused mislinking of systemd when LTO was enabled
Fixed a regression introduced in 2.38.0 in which --as-needed was ignored when creating an executable under a rare condition. (af36625)
Fixed an assertion failure on some targets that is triggered when an weak undefined symbol in an executable is promoted to a dynamic symbol with the -z dynamic-undefined-weak option. (0fdffad)
mold now ignores --dynamic-linker if -static is given. The new behavior is compatible with GNU ld.


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 pkgsrc/devel/mold/Makefile
cvs rdiff -u -r1.39 -r1.40 pkgsrc/devel/mold/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/mold/Makefile
diff -u pkgsrc/devel/mold/Makefile:1.46 pkgsrc/devel/mold/Makefile:1.47
--- pkgsrc/devel/mold/Makefile:1.46     Tue May 20 07:28:26 2025
+++ pkgsrc/devel/mold/Makefile  Fri May 30 09:09:24 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.46 2025/05/20 07:28:26 adam Exp $
+# $NetBSD: Makefile,v 1.47 2025/05/30 09:09:24 adam Exp $
 
-DISTNAME=      mold-2.39.1
+DISTNAME=      mold-2.40.0
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=rui314/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}

Index: pkgsrc/devel/mold/distinfo
diff -u pkgsrc/devel/mold/distinfo:1.39 pkgsrc/devel/mold/distinfo:1.40
--- pkgsrc/devel/mold/distinfo:1.39     Tue May 20 07:28:26 2025
+++ pkgsrc/devel/mold/distinfo  Fri May 30 09:09:24 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.39 2025/05/20 07:28:26 adam Exp $
+$NetBSD: distinfo,v 1.40 2025/05/30 09:09:24 adam Exp $
 
-BLAKE2s (mold-2.39.1.tar.gz) = c79e3bc368afaae382cc3551c787b1156d95aaa8060f6c7acda2569cf3306f4d
-SHA512 (mold-2.39.1.tar.gz) = 2d6d3d892d0dc6b256fbb2a1bbe7519948c2cd683549d23727da9cbccf1dad80a3af2826bf96b9d02ed56a765fa46ffc8fcd23168bb5624a1fa4b9dd21606005
-Size (mold-2.39.1.tar.gz) = 10224022 bytes
+BLAKE2s (mold-2.40.0.tar.gz) = ef6c31d99a1b15093567825d469e29f28deb0efe0dcbab2b4ea6927a8ea582e9
+SHA512 (mold-2.40.0.tar.gz) = 5de0ee101fc280d5ea24f56f88358d3cabb7293a3d6cb36c0274d35700434efb62ad2b52a3c7189dcbff841e49fb6598c9d1e626b418b14f0388f722e3b324bb
+Size (mold-2.40.0.tar.gz) = 11005480 bytes



Home | Main Index | Thread Index | Old Index