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