pkgsrc-WIP-changes archive

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

mold: update to 2.31.0



Module Name:	pkgsrc-wip
Committed By:	Kevin Bloom <kevin.bloom%posteo.net@localhost>
Pushed By:	nuclearkev
Date:		Tue May 14 11:10:26 2024 -0400
Changeset:	4c915280990c6cb47ffa34388e6228c748deb415

Added Files:
	mold/COMMIT_MSG
	mold/DESCR
	mold/Makefile
	mold/PLIST
	mold/distinfo

Log Message:
mold: update to 2.31.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=4c915280990c6cb47ffa34388e6228c748deb415

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

diffstat:
 mold/COMMIT_MSG | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mold/DESCR      |  6 +++++
 mold/Makefile   | 41 +++++++++++++++++++++++++++++
 mold/PLIST      |  9 +++++++
 mold/distinfo   |  6 +++++
 5 files changed, 143 insertions(+)

diffs:
diff --git a/mold/COMMIT_MSG b/mold/COMMIT_MSG
new file mode 100644
index 0000000000..70b24eab16
--- /dev/null
+++ b/mold/COMMIT_MSG
@@ -0,0 +1,81 @@
+mold: update to 2.31.0
+
+Packaging changes:
+- removed CMakeLists patch as it is no longer necessary
+
+Upstream changes:
+2.30.0 -> 2.30.1:
+New Features:
+- Up to 10% faster when linking very large, debug info-enabled
+  executables
+- `-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.
+- -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.
+Bug Fixes:
+- if a linker script contains a newline character in the beginning
+  four bytes of a file, it was not recognized as a linker script.
+- the INPUT linker script command may have found a different file
+  than GNU ld would
+- Fixed the --repro option from produced corrupted tar files
+
+https://github.com/rui314/mold/releases/tag/v2.30.1
+
+2.4.1 -> 2.30.0:
+Housekeeping:
+- Version change to avoid GNU libtool from mistaking mold 2.4.1 for
+  GNU ld 2.4.1
+- Sections with unknown section types are now reported as errors.
+Bug Fixes:
+- Fixed having inserted an unnecessary gap before the .bss section in
+  an output file, thereby creating an extra segment for it.
+- Fixed failing with the "ConcurrentMap is full" error message if
+  --gdb-index was used.
+- Suppressed warnings for generating an excessive number of
+  "ignoring .llvm_addrsig section without sh_link".
+
+https://github.com/rui314/mold/releases/tag/v2.30.0
+
+2.4.0 -> 2.4.1:
+Bug Fixes:
+- Fixed promoting weak dynamic symbols to strong ones under a rare
+  circumstance, which caused "undefined symbol" error at runtime.
+- If two or more VERSION clauses in a version script match to the
+  same symbol, the first one took precedence. This was incompatible
+  with GNU ld, which gives the last one the highest priority,
+  causing a Qt library link failure
+- By default, we demangle symbols in error messages so that they are
+  easier to read. Previously, Rust symbols could accidentally be
+  demangled as C++ symbols. Now, mold attempts to demangle symbols as
+  Rust ones only for object files created by rustc
+
+https://github.com/rui314/mold/releases/tag/v2.4.1
+
+2.3.3 -> 2.4.0:
+New Features:
+- added the --spare-program-headers=<number> option
+- `-z rewrite-endbr` option rewrites superflous endbr64 instructions
+  with nop as a countermeasure against control-flow highjacking
+  attacks.
+
+Bug Fixes:
+- Fixed not handling object files containing multiple .eh_frame
+  sections
+- `mold -run <command>` is an easy way to run the given command with
+  a virtual environment in which the ld command is replaced with
+  mold.
+- Fixed the production of non-working executables on a rare occasion
+  when all thread-local variables lacked an initial value and the
+  read-only data required alignment equal to or greater than the page
+  size.
+- Fixed possible assignment to a different symbol version to a symbol
+- Recent versions of LLVM emit a machine code sequence for TLSDESC
+  thread-local variables that would be mis-optimized.
+
+https://github.com/rui314/mold/releases/tag/v2.4.0
diff --git a/mold/DESCR b/mold/DESCR
new file mode 100644
index 0000000000..bf037266b0
--- /dev/null
+++ b/mold/DESCR
@@ -0,0 +1,6 @@
+mold is a new linker that is optimized for modern multi-core machines.
+
+mold is command-line compatible with the other major linkers, GNU ld, GNU gold
+and LLVM lld, yet it is several times faster than them. Its goal is to increase
+programmer productivity by speeding up program build time, especially for rapid
+edit-build-test-debug cycles.
diff --git a/mold/Makefile b/mold/Makefile
new file mode 100644
index 0000000000..b07472e7d2
--- /dev/null
+++ b/mold/Makefile
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.38 2023/11/16 20:42:17 fcambus Exp $
+
+DISTNAME=	mold-2.31.0
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=rui314/}
+GITHUB_TAG=	v${PKGVERSION_NOREV}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/rui314/mold/
+COMMENT=	High performance drop-in replacement for existing Unix linkers
+LICENSE=	mit
+
+USE_LANGUAGES=	c c++20
+
+USE_CMAKE=	yes
+
+CMAKE_ARGS+=	-DMOLD_USE_SYSTEM_MIMALLOC=ON -DMOLD_USE_SYSTEM_TBB=ON
+
+# Use <stdlib.h> on systems where <alloca.h> doesn't exist
+.if !exists(/usr/include/alloca.h)
+SUBST_CLASSES+=		alloca
+SUBST_STAGE.alloca=	post-configure
+SUBST_FILES.alloca=	elf/mold-wrapper.c
+SUBST_SED.alloca=	-e 's|<alloca.h>|<stdlib.h>|g'
+.endif
+
+# This package uses a lot of C++20 features. GCC 10 is the oldest GCC that can
+# build it.
+USE_CXX_FEATURES+=	c++20
+
+# Handle linker flags for dlopen and pthread automatically.
+DL_AUTO_VARS=		yes
+PTHREAD_AUTO_VARS=	yes
+
+.include "../../archivers/zstd/buildlink3.mk"
+.include "../../devel/mimalloc/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../parallel/threadingbuildingblocks/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/mold/PLIST b/mold/PLIST
new file mode 100644
index 0000000000..402da198ee
--- /dev/null
+++ b/mold/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.6 2023/08/15 17:32:22 fcambus Exp $
+bin/ld.mold
+bin/mold
+lib/mold/mold-wrapper.so
+libexec/mold/ld
+man/man1/ld.mold.1
+man/man1/mold.1
+share/doc/mold/LICENSE
+share/doc/mold/LICENSE.third-party
diff --git a/mold/distinfo b/mold/distinfo
new file mode 100644
index 0000000000..82d8b0fcd3
--- /dev/null
+++ b/mold/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.32 2023/11/16 20:42:17 fcambus Exp $
+
+BLAKE2s (mold-2.31.0.tar.gz) = b01f2186ea21a201c121b006c690bb6f42d564de03b5a7c3e2075ce54ff440eb
+SHA512 (mold-2.31.0.tar.gz) = 343c62d8c67b74988f762c46999d2d866b2e9a0c69d2b910b12384ea5abc620b30468cd1b1bacfe41474d1c97c8ce2e49d55ca70479691238fb73d83d9adc683
+Size (mold-2.31.0.tar.gz) = 10031469 bytes
+SHA1 (patch-CMakeLists.txt) = 8b4974a524a33a683ff3bfcb4bddc965b1111d8e


Home | Main Index | Thread Index | Old Index