pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/mold mold: update to 1.3.0.
details: https://anonhg.NetBSD.org/pkgsrc/rev/bc41b4ab2135
branches: trunk
changeset: 380893:bc41b4ab2135
user: fcambus <fcambus%pkgsrc.org@localhost>
date: Sat Jun 18 14:23:13 2022 +0000
description:
mold: update to 1.3.0.
Pkgsrc changes:
- Remove now unneeded pkg-config from USE_TOOLS
- Use <stdlib.h> on systems where <alloca.h> doesn't exist
- Link the bundled (patched) libtbb, as per upstream recommendation
Bug fixes and compatibility improvements:
- The --icf=safe option has been supported. This option enables a feature
to find and deduplicate identical code that can be merged safely. For C++
programs, it typically reduces the output binary size by a few percent.
--icf=safe needs to be used with a compiler that supports .llvm_addrsig
section; if a compiler does not support it, --icf=safe doesn't do any harm
but cannot optimize a given program at all. That section is supported by
LLVM/Clang at the moment, and we are working on adding it to GCC.
- LTO now works reliably under a heavy load. mold used to abort occasionally
under such condition on Linux due to a spurious failure of pthread_create(2).
- mold now prints out undefined symbol errors in a format similar to LLVM lld.
- mold now prints out a better error message for the disk full situation.
- mold can now build GCC 12 with LTO.
- Fixed an LTO issue on 32-bits hosts such as i686.
- mold is now AddressSanitizer and UndefinedSanitizer clean.
- mold used to create broken debug info on 32-bits hosts. The bug has been
fixed.
- mold used to accept not only a single dash but also double dashes for
single-letter options. For example, --S was accidentally accepted as an
alias for-S. This is unconventional, and such options are no longer
accepted.
- --color-diagnostics is now an alias for --color-diagnostics=auto instead
of --color-diagnostics=always for compatibility with LLVM lld.
- pkg-config is no longer needed to build mold.
- The --package-metadata option is supported.
Removed features:
- An experimental --preload flag has been removed.
diffstat:
devel/mold/Makefile | 17 ++++++++++++-----
devel/mold/distinfo | 10 +++++-----
devel/mold/patches/patch-Makefile | 10 +++++-----
3 files changed, 22 insertions(+), 15 deletions(-)
diffs (85 lines):
diff -r 73a7387dc472 -r bc41b4ab2135 devel/mold/Makefile
--- a/devel/mold/Makefile Sat Jun 18 12:53:26 2022 +0000
+++ b/devel/mold/Makefile Sat Jun 18 14:23:13 2022 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.15 2022/05/11 07:02:11 fcambus Exp $
+# $NetBSD: Makefile,v 1.16 2022/06/18 14:23:13 fcambus Exp $
-DISTNAME= mold-1.2.1
+DISTNAME= mold-1.3.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=rui314/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@@ -10,14 +10,22 @@
COMMENT= High performance drop-in replacement for existing Unix linkers
LICENSE= gnu-agpl-v3
-USE_TOOLS+= gmake pkg-config
+USE_TOOLS+= gmake
USE_LANGUAGES= c c++20
+# 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
+
MAKE_FLAGS+= CFLAGS="${CFLAGS}"
MAKE_FLAGS+= CXXFLAGS="${CXXFLAGS}"
MAKE_FLAGS+= PREFIX="${PREFIX}"
MAKE_FLAGS+= MANDIR="${PREFIX}/${PKGMANDIR}"
-MAKE_FLAGS+= SYSTEM_MIMALLOC=1 SYSTEM_TBB=1
+MAKE_FLAGS+= SYSTEM_MIMALLOC=1
# This package uses a lot of C++20 features. GCC 10 is the oldest GCC that can
# build it.
@@ -36,7 +44,6 @@
.include "../../devel/mimalloc/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
-.include "../../parallel/threadingbuildingblocks/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
diff -r 73a7387dc472 -r bc41b4ab2135 devel/mold/distinfo
--- a/devel/mold/distinfo Sat Jun 18 12:53:26 2022 +0000
+++ b/devel/mold/distinfo Sat Jun 18 14:23:13 2022 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.14 2022/04/29 06:45:45 fcambus Exp $
+$NetBSD: distinfo,v 1.15 2022/06/18 14:23:13 fcambus Exp $
-BLAKE2s (mold-1.2.1.tar.gz) = f4671bd35a2645b8af4bda9bb17f1b167b84052fe7b454abee150759b4adb09b
-SHA512 (mold-1.2.1.tar.gz) = fc39674b00119d09b3275ed7232356f0b25dad1a0f3a498f9db1a4835b6d4f9ea637ca9a643a05591ea895e8751d9bee43cdcb42303beb082462e76ddb42a0f1
-Size (mold-1.2.1.tar.gz) = 4669615 bytes
-SHA1 (patch-Makefile) = b2df4dd7894bfc9df45253bb93ca768b8d8e091a
+BLAKE2s (mold-1.3.0.tar.gz) = 9ad5994b65da5a2fea77cee2ab16039961173995acb48f9fd94f375a648a82c3
+SHA512 (mold-1.3.0.tar.gz) = c9da8ece83049afcb815444c81d090a7bdead85b88898460cd94cfc83766b54793d3aa15ce7ce3bd8070a080d1241684c15ad81485ec39cfef768360c574964a
+Size (mold-1.3.0.tar.gz) = 4689476 bytes
+SHA1 (patch-Makefile) = e0f2f8a1d5fc9d806edb8f9c82ca1d2c73d50432
diff -r 73a7387dc472 -r bc41b4ab2135 devel/mold/patches/patch-Makefile
--- a/devel/mold/patches/patch-Makefile Sat Jun 18 12:53:26 2022 +0000
+++ b/devel/mold/patches/patch-Makefile Sat Jun 18 14:23:13 2022 +0000
@@ -1,16 +1,16 @@
-$NetBSD: patch-Makefile,v 1.9 2022/03/08 14:04:57 fcambus Exp $
+$NetBSD: patch-Makefile,v 1.10 2022/06/18 14:23:13 fcambus Exp $
- Do not hard-code -pthread, as it is handled by the pkgsrc infrastructure.
- Do not hard-code -ldl
---- Makefile.orig 2022-03-07 10:38:14.000000000 +0000
+--- Makefile.orig 2022-06-18 03:29:18.000000000 +0000
+++ Makefile
-@@ -49,7 +49,7 @@ MOLD_CXXFLAGS := -std=c++20 -fno-excepti
+@@ -42,7 +42,7 @@ MOLD_CXXFLAGS := -std=c++20 -fno-excepti
-fno-asynchronous-unwind-tables -Ithird-party/xxhash \
-DMOLD_VERSION=\"$(VERSION)\" -DLIBDIR="\"$(LIBDIR)\""
-MOLD_LDFLAGS := -pthread -lz -lm -ldl
+MOLD_LDFLAGS := -lz -lm
- GIT_HASH := $(shell [ -d .git ] && git rev-parse HEAD)
- ifneq ($(GIT_HASH),)
+ # Get a hash of the current git head. We don't want to use the git
+ # command because the command prints out a warning if running under
Home |
Main Index |
Thread Index |
Old Index