From 77724bf7e012984e9515f95eb6ea9ff2dfe71e9f Mon Sep 17 00:00:00 2001 From: Remy Wang Date: Wed, 18 Sep 2024 10:28:25 -0700 Subject: [PATCH] Add cmake option for malloc_usable_size. --- CMakeLists.txt | 11 +++++++++++ src/util/memory_manager.cpp | 8 +++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cdccb8e4b..11a6ec2a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,6 +207,17 @@ list(APPEND Z3_COMPONENT_EXTRA_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" ) +################################################################################ +# malloc_usable_size() +################################################################################ +option(Z3_USE_MALLOC_USABLE_SIZE "Use malloc_usable_size (or equivalents like malloc_size or _msize)" ON) +if (Z3_USE_MALLOC_USABLE_SIZE) + message(STATUS "Using malloc_usable_size") + list(APPEND Z3_COMPONENT_CXX_DEFINES "-DHAS_MALLOC_USABLE_SIZE") +else() + message(STATUS "Not using malloc_usable_size") +endif() + ################################################################################ # GNU multiple precision library support ################################################################################ diff --git a/src/util/memory_manager.cpp b/src/util/memory_manager.cpp index 8c6bfc7e7..ac2e402f8 100644 --- a/src/util/memory_manager.cpp +++ b/src/util/memory_manager.cpp @@ -13,19 +13,17 @@ Copyright (c) 2015 Microsoft Corporation #include "util/error_codes.h" #include "util/debug.h" #include "util/scoped_timer.h" -#ifdef __GLIBC__ +#ifndef HAS_MALLOC_USABLE_SIZE +// drop calls to malloc_usable_size +#elif defined(__GLIBC__) # include -# define HAS_MALLOC_USABLE_SIZE #elif defined(__APPLE__) # include -# define HAS_MALLOC_USABLE_SIZE # define malloc_usable_size malloc_size #elif defined(__FreeBSD__) # include -# define HAS_MALLOC_USABLE_SIZE #elif defined(_WINDOWS) # include -# define HAS_MALLOC_USABLE_SIZE # define malloc_usable_size _msize #endif