5.0.1: This bugfix release fixes several issues, most of which are obscure enough that typical applications are not impacted. Bug fixes: Update decay->nunpurged before purging, in order to avoid potential update races and subsequent incorrect purging volume. Only abort on dlsym(3) error if the failure impacts an enabled feature (lazy locking and/or background threads). This mitigates an initialization failure bug for which we still do not have a clear reproduction test case. Modify tsd management so that it neither crashes nor leaks if a thread's only allocation activity is to call free() after TLS destructors have been executed. This behavior was observed when operating with GNU libc, and is unlikely to be an issue with other libc implementations. Mask signals during background thread creation. This prevents signals from being inadvertently delivered to background threads. Avoid inactivity checks within background threads, in order to prevent recursive mutex acquisition. Fix extent_grow_retained() to use the specified hooks when the arena.<i>.extent_hooks mallctl is used to override the default hooks. Add missing reentrancy support for custom extent hooks which allocate. Post-fork(2), re-initialize the list of tcaches associated with each arena to contain no tcaches except the forking thread's. Add missing post-fork(2) mutex reinitialization for extent_grow_mtx. This fixes potential deadlocks after fork(2). Enforce minimum autoconf version (currently 2.68), since 2.63 is known to generate corrupt configure scripts. Ensure that the configured page size (--with-lg-page) is no larger than the configured huge page size (--with-lg-hugepage).diff -r1.9 -r1.10 pkgsrc/devel/jemalloc/Makefile
(adam)
@@ -1,35 +1,31 @@ | @@ -1,35 +1,31 @@ | |||
1 | # $NetBSD: Makefile,v 1.9 2017/05/17 16:36:46 gson Exp $ | 1 | # $NetBSD: Makefile,v 1.10 2017/08/27 12:12:25 adam Exp $ | |
2 | 2 | |||
3 | DISTNAME= jemalloc-4.5.0 | 3 | DISTNAME= jemalloc-5.0.1 | |
4 | PKGREVISION= 1 | |||
5 | CATEGORIES= devel | 4 | CATEGORIES= devel | |
6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=jemalloc/} | 5 | MASTER_SITES= ${MASTER_SITE_GITHUB:=jemalloc/} | |
7 | GITHUB_PROJECT= jemalloc | 6 | GITHUB_RELEASE= ${PKGVERSION_NOREV} | |
8 | GITHUB_RELEASE= ${DISTNAME:S/jemalloc-//} | |||
9 | EXTRACT_SUFX= .tar.bz2 | 7 | EXTRACT_SUFX= .tar.bz2 | |
10 | 8 | |||
11 | MAINTAINER= gson@NetBSD.org | 9 | MAINTAINER= gson@NetBSD.org | |
12 | HOMEPAGE= http://www.canonware.com/jemalloc/ | 10 | HOMEPAGE= http://jemalloc.net/ | |
13 | COMMENT= General purpose malloc(3) implementation | 11 | COMMENT= General purpose malloc(3) implementation | |
14 | LICENSE= 2-clause-bsd | 12 | LICENSE= 2-clause-bsd | |
15 | 13 | |||
16 | BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt | 14 | BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt | |
17 | BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | 15 | BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | |
18 | 16 | |||
19 | USE_TOOLS+= autoconf automake aclocal gmake | |||
20 | USE_LANGUAGES= c | 17 | USE_LANGUAGES= c | |
18 | USE_TOOLS+= autoconf automake aclocal gmake perl:run | |||
21 | GNU_CONFIGURE= yes | 19 | GNU_CONFIGURE= yes | |
22 | CONFIGURE_ARGS+= --enable-cc-silence | 20 | CONFIGURE_ARGS+= --enable-cc-silence | |
23 | CONFIGURE_ARGS+= --enable-xmalloc | 21 | CONFIGURE_ARGS+= --enable-xmalloc | |
24 | CONFIGURE_ARGS+= --with-xslroot=${PREFIX}/share/xsl/docbook/ | 22 | CONFIGURE_ARGS+= --with-xslroot=${PREFIX}/share/xsl/docbook/ | |
23 | PKGCONFIG_OVERRIDE= jemalloc.pc.in | |||
25 | 24 | |||
26 | USE_TOOLS+= perl:run | |||
27 | REPLACE_PERL= bin/jeprof.in | 25 | REPLACE_PERL= bin/jeprof.in | |
28 | 26 | |||
29 | PKGCONFIG_OVERRIDE= jemalloc.pc.in | |||
30 | ||||
31 | BUILD_TARGET= all dist | 27 | BUILD_TARGET= all dist | |
32 | TEST_TARGET= check | 28 | TEST_TARGET= check | |
33 | TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/lib | 29 | TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/lib | |
34 | 30 | |||
35 | .include "../../mk/bsd.pkg.mk" | 31 | .include "../../mk/bsd.pkg.mk" |
@@ -1,8 +1,8 @@ | @@ -1,8 +1,8 @@ | |||
1 | $NetBSD: distinfo,v 1.6 2017/05/17 16:36:46 gson Exp $ | 1 | $NetBSD: distinfo,v 1.7 2017/08/27 12:12:25 adam Exp $ | |
2 | 2 | |||
3 | SHA1 (jemalloc-4.5.0.tar.bz2) = e7714d070c623bff9acf682e9d52c930e491acd8 | 3 | SHA1 (jemalloc-5.0.1.tar.bz2) = 5c2c74b8bf773df6e813f0709f55d40a8256104d | |
4 | RMD160 (jemalloc-4.5.0.tar.bz2) = 6acd6c0163d257c7f9941e1b01cf3c5202ca12a4 | 4 | RMD160 (jemalloc-5.0.1.tar.bz2) = f3e6fdbd4b5a00fde7de6a2d77c716a085b09943 | |
5 | SHA512 (jemalloc-4.5.0.tar.bz2) = 76953363fe1007952232220afa1a91da4c1c33c02369b5ad239d8dd1d0792141197c15e8489a8f4cd301b08494e65cadd8ecd34d025cb0285700dd78d7248821 | 5 | SHA512 (jemalloc-5.0.1.tar.bz2) = 8cb5957a5724eb2bbad120cf0028ea8b2b14b4a416c1751b7c967351a7fd51135058ea0d3c4dc1d127c86f3aa7e9fd5ef101857110aabfdb7789427791c432c3 | |
6 | Size (jemalloc-4.5.0.tar.bz2) = 449992 bytes | 6 | Size (jemalloc-5.0.1.tar.bz2) = 499300 bytes | |
7 | SHA1 (patch-Makefile.in) = 62e04375dec9aab678fed5bc32559deb942e799f | 7 | SHA1 (patch-Makefile.in) = 62e04375dec9aab678fed5bc32559deb942e799f | |
8 | SHA1 (patch-src_pages.c) = 269ea1da44585caf3635b4b66b85db9e56124f08 | 8 | SHA1 (patch-src_pages.c) = 7c9eea2409b283c5dd80e52349c4dda26ae5befa |
@@ -1,17 +1,17 @@ | @@ -1,17 +1,17 @@ | |||
1 | $NetBSD: patch-src_pages.c,v 1.1 2017/05/17 16:36:46 gson Exp $ | 1 | $NetBSD: patch-src_pages.c,v 1.2 2017/08/27 12:12:25 adam Exp $ | |
2 | 2 | |||
3 | Set os_overcommits to true on NetBSD since NetBSD does overcommit. | 3 | Set os_overcommits to true on NetBSD since NetBSD does overcommit. | |
4 | This also has the benefit of not triggering the issue reported in | 4 | This also has the benefit of not triggering the issue reported in | |
5 | https://github.com/jemalloc/jemalloc/issues/837 . | 5 | https://github.com/jemalloc/jemalloc/issues/837 . | |
6 | 6 | |||
7 | --- src/pages.c.orig 2017-03-01 03:10:36.000000000 +0000 | 7 | --- src/pages.c.orig 2017-07-02 00:44:25.000000000 +0000 | |
8 | +++ src/pages.c | 8 | +++ src/pages.c | |
9 | @@ -296,6 +296,8 @@ pages_boot(void) | 9 | @@ -414,6 +414,8 @@ pages_boot(void) { | |
10 | if (os_overcommits) | |||
11 | mmap_flags |= MAP_NORESERVE; | 10 | mmap_flags |= MAP_NORESERVE; | |
11 | } | |||
12 | # endif | 12 | # endif | |
13 | +#elif defined __NetBSD__ | 13 | +#elif defined __NetBSD__ | |
14 | + os_overcommits = true; | 14 | + os_overcommits = true; | |
15 | #else | 15 | #else | |
16 | os_overcommits = false; | 16 | os_overcommits = false; | |
17 | #endif | 17 | #endif |