From: Aydın Mercan Date: Thu, 4 Jan 2024 07:40:54 +0000 (+0300) Subject: Forward declare mallocx in isc/mem.h X-Git-Tag: v9.19.22~78^2~2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=197de93bdc8eb5cc4dd18e0812cbb87c2ed7fa61;p=thirdparty%2Fbind9.git Forward declare mallocx in isc/mem.h cmocka.h and jemalloc.h/malloc_np.h has conflicting macro definitions. While fixing them with push_macro for only malloc is done below, we only need the non-standard mallocx interface which is easy to just define by ourselves. --- diff --git a/lib/isc/include/isc/mem.h b/lib/isc/include/isc/mem.h index b7143bdbddb..2ee8c9e2002 100644 --- a/lib/isc/include/isc/mem.h +++ b/lib/isc/include/isc/mem.h @@ -190,14 +190,20 @@ extern unsigned int isc_mem_defaultflags; * for more information. */ #if HAVE_JEMALLOC -#include + +/* + * cmocka.h has confliction definitions with the jemalloc header but we only + * need the mallocx symbol from jemalloc. + */ +void * +mallocx(size_t size, int flags); extern volatile void *isc__mem_malloc; -#define isc_mem_create(cp) \ - { \ - isc__mem_create((cp)_ISC_MEM_FILELINE); \ - isc__mem_malloc = mallocx; \ +#define isc_mem_create(cp) \ + { \ + isc__mem_create((cp)_ISC_MEM_FILELINE); \ + isc__mem_malloc = mallocx; \ ISC_INSIST(CMM_ACCESS_ONCE(isc__mem_malloc) != NULL); \ } #else