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