diff --git a/bin/named/main.c b/bin/named/main.c index 4a38f69fd7..de43190393 100644 --- a/bin/named/main.c +++ b/bin/named/main.c @@ -103,6 +103,14 @@ #include #endif +/* On DragonFly BSD the header does not provide jemalloc API */ +#if defined(HAVE_MALLOC_NP_H) && !defined(__DragonFly__) +#include +#include /* For M_VERSION */ +#elif defined(HAVE_JEMALLOC) +#include +#endif + /* * Include header files for database drivers here. */ @@ -596,6 +604,13 @@ printversion(bool verbose) { UV_VERSION_MINOR, UV_VERSION_PATCH); printf("linked to libuv version: %s\n", uv_version_string()); printf("compiled with %s version: %s\n", RCU_FLAVOR, RCU_VERSION); +#if defined(JEMALLOC_VERSION) + printf("compiled with jemalloc version: %u.%u.%u\n", + JEMALLOC_VERSION_MAJOR, JEMALLOC_VERSION_MINOR, + JEMALLOC_VERSION_BUGFIX); +#elif defined(M_VERSION) + printf("compiled with system jemalloc version: %u\n", M_VERSION); +#endif #if HAVE_LIBNGHTTP2 nghttp2_info *nginfo = NULL; printf("compiled with libnghttp2 version: %s\n", NGHTTP2_VERSION); @@ -1181,6 +1196,17 @@ setup(void) { isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, "linked to libuv version: %s", uv_version_string()); +#if defined(JEMALLOC_VERSION) + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, + "compiled with jemalloc version: %u.%u.%u", + JEMALLOC_VERSION_MAJOR, JEMALLOC_VERSION_MINOR, + JEMALLOC_VERSION_BUGFIX); +#elif defined(M_VERSION) + isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, + NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, + "compiled with system jemalloc version: %u", M_VERSION); +#endif #ifdef HAVE_LIBXML2 isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_MAIN, ISC_LOG_NOTICE, diff --git a/configure.ac b/configure.ac index d14b2b3cbf..496ec8fff8 100644 --- a/configure.ac +++ b/configure.ac @@ -1763,6 +1763,9 @@ report() { echo " OpenSSL: $OPENSSL_VERSION" echo " libuv: $LIBUV_VERSION" echo " Userspace-RCU: $RCU_VERSION" + if test "no" != "$with_jemalloc"; then + echo " jemalloc: $JEMALLOC_VERSION" + fi echo "-------------------------------------------------------------------------------" echo "Features disabled or unavailable on this platform:" diff --git a/m4/ax_jemalloc.m4 b/m4/ax_jemalloc.m4 index a15ae68a2d..bde7678bc7 100644 --- a/m4/ax_jemalloc.m4 +++ b/m4/ax_jemalloc.m4 @@ -29,6 +29,7 @@ AC_DEFUN([AX_CHECK_JEMALLOC], [ PKG_CHECK_MODULES( [JEMALLOC], [jemalloc], [ + PKG_CHECK_VERSION([JEMALLOC_VERSION], [jemalloc]) found=true ], [ AC_CHECK_HEADERS([malloc_np.h jemalloc/jemalloc.h], @@ -39,6 +40,7 @@ AC_DEFUN([AX_CHECK_JEMALLOC], [ AC_SEARCH_LIBS([sdallocx], [jemalloc], [ found=true + JEMALLOC_VERSION=system AS_IF([test "$ac_cv_search_mallocx" != "none required"], [JEMALLOC_LIBS="$ac_cv_search_mallocx"]) ])